BUUCTF [湖南省赛2019]Findme
第一次写wp,有什么不对的也请多多指教
首先下载之后是5个png文件
第一个打开是很多像素点 应该是宽度和高度被修改了
不会写脚本 附上大佬的脚本
import zlib
import struct
filename = '1.png'
with open(filename, 'rb') as f:
all_b = f.read()
crc32key = int(all_b[29:33].hex(),16)
data = bytearray(all_b[12:29])
n = 4095
for w in range(n):
width = bytearray(struct.pack('>i', w))
for h in range(n):
height = bytearray(struct.pack('>i', h))
for x in range(4):
data[x+4] = width[x]
data[x+8] = height[x]
crc32result = zlib.crc32(data)
if crc32result == crc32key:
print("宽为:",end="")
print(width)
print("高为:",end="")
print(height)
用010修改完宽高打开图片
下面的全是像素点,说明下面idat块有问题
加上IDAT 16进制就是49 44 41 54
再用stegsolve打开瞅瞅
blue2通道有个二维码
CQR打开
ok 找到了第一个线索
接着打开2.png 发现里面有很多txt文件,binwalk和foremost工具都分离不了
继续在010里找 在文本里又发现了很多的7z
这些7z的后面跟的都是03 04 或者01 02或者 05 06 这应该是一个压缩包的文件头 50 4b 03 04
我们把33 7A 换成50 4b 再用360压缩包打开
好多文本 上面的排序一下看看有没有特殊的
找到了 第二个线索
继续
...
打开3.png
只有chunk7的CRC高度是正常的其他的都不正常 我们把它单独提取出来
在010新建一个16进制文件,再转成ASCII就是第三个线索
继续...
打开4.png 文件末尾有一段base64编码
打开5.png 文件末尾也有一段base64编码
ok 应该已经找完了吧 把他整理一下
ZmxhZ3s0X3
1RVcmVfc
3RlZ30=
cExlX1BsY
Yzcllfc0lN
首先第三个肯定是在最后 剩下的先一段一段的转一下看看
第一段转换后是flag开头 应该就是一个了
第二个像是乱码
第四个可以转出来应该就在中间放着
第五个好像也是乱码
现在思路就清晰了 1 、3 、4都已经确认了,分别是第一个位置、第五个位置和第三个位置
12453和15423
最后15423解出得到flag
ZmxhZ3s0X3 Yzcllfc0lN cExlX1BsY 1RVcmVfc 3RlZ30=
flag{4_v3rY_sIMpLe_PlcTUre_steg}
更多推荐
所有评论(0)