https://buuoj.cn/challenges#%E4%B8%80%E8%B7%AF%E5%88%B0%E5%BA%95
每个txt
的关键点是前面的数字
第一个txt
文件内容中的数字是20555
转换为十六进制发现是504b
,再看看这个txt
给的下一个文件内容
寻找提示找到第二个txt中的数字是772
转换为十六进制为304
,这里应该还需要十六进制补高的,也就是0304
。504b0304
是zip
的十六进制文件头,利用py脚本按照给的提示依次取出所有的数字,转换为十六进制再以字节流的形式写入flag.zip
import binascii
hexdata = ''
with open('./files/start.txt') as f:
cont = f.read()
nexttxt = cont[-36:]
hexdata += '{:04x}'.format(int(cont[0:cont.find(':')-1]))
while True:
path = './files/' + nexttxt
try:
with open(path) as f:
cont = f.read()
nexttxt = cont[-36:]
hexdata += '{:04x}'.format(int(cont[0:cont.find(':')-1]))
except:
break
with open('flag.zip','wb') as f:
f.write(binascii.unhexlify(hexdata))
得到如下
这个说实话爆破有点坑,什么提示都没,看了下Ga1axy师傅
的wp,爆破26字母小写+数字
得到压缩包密码:tgb678
解压得到image.png
文件头应该是jpg的,修改文件头为jpg文件头:FF D8 FF E0
flag{0c6b489ca956e2fd94dce12be4bf0729}