2024羊城杯MISC方向wp

真是叹为观止的一场比赛 见识到众多本科组ctf大手子们熬夜上分 最后半小时神仙打架 最后一分钟疯狂交题更是让在下大开眼界

但是苦于没有队友 只能自己浅做一下

image-20240828160658179

不一样的数据库_2

附件拿到一个压缩包 真加密 010打开 翻到最下面 找到提示 密码是6位数字

image-20240828160902327

爆破一下密码 为753951

image-20240828160930428

解压得到一张残缺的二维码和一个kdbx的Keepass数据库 先修复二维码 这个很好弄 就是补全三个定位点就可以了

直接截一个正常二维码的定位点 然后用PS粘上去就可以扫

image-20240828161721363

image-20240828161820866

得到NRF@WQUKTQ12345&WWWF@WWWFX#WWQXNWXNU

使用Keepass打开数据库 需要输入密码 但是发现直接输入上面扫出来的字符串不能直接解密 发现给的附件中的残缺二维码的名字是13 联想到rot13 解密一下得到AES@JDHXGD12345&JJJS@JJJSK#JJDKAJKAH

image-20240828162807192

成功打开数据库

image-20240828162847235

先看到一个passisDASCTF 同时看到群组名字是AES 那下面就是找一下密文

查看编辑记录

右击选择编辑记录 可以找到修改密码记录的历史

image-20240828163642789

选择最后面两条记录的任意一条 选择高级 可以看到一个字段名为aes就是密文 值有很明显的U2FsdAES加密头 直接使用密码进行AES解密

image-20240828163849623

image-20240828164012316

so+much

原题 没什么好说的 拿到的ad1镜像文件 名字为c2hpZnQh 解base64是shift!

使用010打开 发现有提示 和123456 结合shift 可以想到密码是按住shift键的123456 也就是!@#$%^

image-20240828164137592

解密ad1镜像文件 使用FTK imager File——Decrypt AD1 image 得到解密后的c2hpZnQh-decrypted.ad1 在使用FTK进行挂载

image-20240828165614222

打开挂载上的镜像 发现很多.crypto文件 同时时间戳只有两种 猜测是转二进制

image-20240828165833261

因为挂载的时候是只读模式 我们需要把这些文件都先单独复制出来 写脚本 先提取时间戳 可以发现时间少的是1628151585.73009 因此转化为0 反之则为1

image-20240828170014520

import os
list = ['']*344
i = 0
for j in range(344):
    list[j] = os.path.getmtime(str(j)+'.crypto')
# print(list)
flag = ''
for i in range(344):
    if(str(list[i]) == '1628151585.73009'):
        flag += '0'
    else:
        flag += '1'
print(flag)
tmp = ''
for k in range(len(flag)):
    tmp += flag[k]
    if len(tmp) == 8:
        print(chr(int(tmp,2)),end='')
        tmp = ''
        
# the_key_is_700229c053b4ebbcf1a3cc37c389c4fa

得到解密crypto文件的密码是700229c053b4ebbcf1a3cc37c389c4fa 解密需要的工具是Encrypto 我们只需要找两个时间戳不一样的文件进行解密就可以了 两个文件内容拼起来就是flag

image-20240828170309574

hiden

附件一个wav文件 一个需要解密内容的文件 文件名60=()+() 直接猜测是13+47 需要进行rot47+rot13解密

得到加密脚本

image-20240828170653049

import wave 

with open('flag.txt', 'rb') as f:
    txt_data = f.read()
    file_len = len(txt_data)
    txt_data = file_len.to_bytes(3, byteorder = 'little') + txt_data

with wave.open("test.wav", "rb") as f:
    attrib = f.getparams()    
    wav_data = bytearray( f.readframes(-1) )

for index in range(len(txt_data)):
    wav_data[index * 4] = txt_data[index]
    
with wave.open("hiden.wav", "wb") as f:
    f.setparams(attrib) 
    f.writeframes(wav_data)

直接ai跑个解密脚本 就能提取出flag.txt的内容

import wave

# 打开hiden.wav文件
with wave.open("hiden.wav", "rb") as f:
    # 获取音频参数
    num_frames = f.getnframes()
    wav_data = bytearray(f.readframes(num_frames))

# 提取隐藏的内容
hidden_data = bytearray()
length_of_hidden_data = 0

# 先提取长度
for index in range(3):
    hidden_data.append(wav_data[index * 4])

# 得到隐藏数据的长度
length_of_hidden_data = int.from_bytes(hidden_data[:3], byteorder='little')

# 提取隐藏的文本数据
hidden_data = bytearray()
for index in range(length_of_hidden_data):
    hidden_data.append(wav_data[(index + 3) * 4])  # 继续提取,跳过长度的部分

# 将提取的内容写入flag.txt
with open('extracted_flag.txt', 'wb') as f:
    f.write(hidden_data)

image-20240828170805516

Checkin

在附件压缩包中找到一条注释

image-20240828172100396

解一下 是base58

image-20240828172140427

只给了一个txt文件 是16进制

image-20240828171746771

放到010中 发现是一个流量包 单独保存出来进行分析

image-20240828171843381

很多TLS 找办法找到解密日志

image-20240828171934648

txt文档中存在wbstego隐写 密码就使用上面注释解出来的 导出来的文件保存为1.log

image-20240828172703379

将这个解密日志 导入到流量包中

image-20240828173249610

成功解密 追踪http流 找到一个flag.gif

image-20240828173356544

提取出来 先分析一波帧间隔 很好 有规律 也是转二进制 小的是0 大的是1

image-20240828173432763

解一下二进制 出flag

image-20240828173458686

miaoro

给到的附件是一个流量包 先追踪一下tcp流

可以看到请求包GWHT字段是一个base64加密的值 在下面的返回包 也是base64加密的值

image-20240828203403305

解密看一下 可以看到GWHT部分应该是命令执行的部分 下面返回包就是命令执行的结果 出现命令执行部分也对应着题干中的被攻击

image-20240828203510872

继续向后看 在第10个包找到一个密码Th15_11111111s_pP@sssssw000rd!!! 在第13个包找到一个secret.txt

image-20240828203700485

将secret.txt的返回包部分提取出来 是一个逆序的压缩包的16进制 进行操作之后将压缩包保存下来 使用上面找到的密码进行解压

得到一个flag2.jpg

image-20240828203941411

看起来很奇怪 猜测是宽高问题 尝试爆破crc无果 将宽高对调 并适当增加对调后的高度 恢复出正常的图片

flag2

在网上找到对应的解码对照表

image-20240828204239767

得到flag2:EBOFDELQDIAA}

再次结合题干说的被工具攻击 来分析一下请求包中的Cookie 使用shiro反序列化解密工具 可以在第二个cookie中解出flag1

image-20240828204626281

拼起来就是

DASCTF{B916CFEB-C40F-45D6-A7BC-EBOFDELQDIAA}

1z_misc

挺无语的一道misc 只能说很有misc风格 纯纯猜谜+缝合 前部分就是结合星宿 猜压缩包解压密码 是E@SI1Y!

解出来之后是一张天琴座图片和一个flag 就是2024ISCC的有人让我给你带个话这个题 难点在于工具的安装

下面放两篇文章 就不赘述了

https://blog.csdn.net/qq_36959443/article/details/116136965
https://blog.csdn.net/administratorlws/article/details/139154964?ops_request_misc=%257B%2522request%255Fid%2522%253A%252239915FCB-333C-46C6-879E-240F264B325F%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=39915FCB-333C-46C6-879E-240F264B325F&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-139154964-null-null.142^v100^pc_search_result_base4&utm_term=iscc%20%E6%9C%89%E4%BA%BA%E8%AE%A9%E6%88%91%E7%BB%99%E4%BD%A0%E5%B8%A6%E4%B8%AA%E8%AF%9D&spm=1018.2226.3001.4187