Bindundun
下载附件,解压发现是10万多个txt,找到一个start.txt
,打开内容如下:
101000001001011 =>The txt you should view is m9312r95cr.txt
其他文件也是这种格式,发现前部分得数据是15
位,左边补零转16进制的话就是0x504B
,看到这里应该能想到是压缩包了,写了个脚本逐个读取文件,将数据拼接并写入文件。
import re
path = 'D:\\BinDunDun\\'
regex_next = "is (.*?\\.txt)"
regex_data = "(.*?) =>"
next_file = 'start.txt'
final_data = ''
while True:
context = open(path + next_file).read()
try:
file_data = re.findall(regex_data, context)[0]
data = file_data.zfill(16)
final_data += data
except Exception as e:
print(context)
print('no data!')
try:
next_file = re.findall(regex_next, context)[0]
if next_file == 'end.txt':
break
except Exception as e:
print(context)
print('no next!!')
break
print(final_data)
with open(path+'final.zip','wb') as fp:
fp.write(int(final_data,2).to_bytes(len(final_data),'big'))
fp.close()
写入以后稍微调整一下得到压缩包,解压打开是一个pyc
和未知文件。
看下文件头,这里需要修成JPG的文件头FFD8FF
打开以后是一个可爱的Bindundun^_^
然后这里就不会了,看了大佬的Wp,这里用到了剑龙
工具。
-x
参数指的是从文件种提取payload。
python .\stegosaurus.py -x .\BinDunDun.pyc
然后得到了隐写的内容BingD@nD@n_in_BeiJing_Winter_Olympics
然后又用到了
jphs05
的一款JPG隐写工具:
解密成功,Base64即可得到flag。