附件下载下来是一张图片
各种隐写工具一把梭,无果,分析其二进制数据,把图片拖进hxd,发现一段疑似base64的东西
base64解密试试
解密出来是一个网址,打开下载第二个附件:flag.zip,打开这个附件
发现需要密码,里面还有个密码的文件夹,打开密码那个文件夹,
9个加密的txt文件,但是里面只有一个字节数据,可以考虑crc32爆破
一字节爆破脚本如下:
import binascii import stringdef crack_crc(): print('-------------Start Crack CRC-------------') crc_list = [0xf3b61b28, 0xf3b61b38, 0x6abf4a82, 0x5ed1937e,0x09b9265b,0x84b12bae,0x70659eff,0x90b077e1,0x6abf4a82]#文件的CRC32值列表,注意顺序 comment = '' chars = string.printable for crc_value in crc_list: for char1 in chars: char_crc = binascii.crc32(char1.encode())#获取遍历字符的CRC32值 calc_crc = char_crc & 0xffffffff#将获取到的字符的CRC32值与0xffffffff进行与运算 if calc_crc == crc_value:#将每个字符的CRC32值与每个文件的CRC32值进行匹配 print('[+] {}: {}'.format(hex(crc_value),char1)) comment += char1 print('-----------CRC Crack Completed-----------') print('Result: {}'.format(comment))
if __name__ == '__main__': crack_crc()
爆破出来的结果为 447^*5#)7
这个就是那个压缩包的密码,解压得到一个n.png文件,但是打不开,还是拖进去hxd分析一下二进制数据
发现结尾是png,考虑是png的字节顺序被倒序,把它倒序回来就行
脚本:
f=open("n.png","rb") data=f.read() data=data[::-1] file=open("./flag.png",'wb') file.write(data) 倒序完的png就是一个二维码,扫码即可得到flag:flag{我好难啊}标签:__,套娃,--,print,flag,crc,stega10,CRC32,png From: https://www.cnblogs.com/GGbomb/p/17809102.html