下载题目,解压缩,得到一张图片
但是在Kali环境下无法正常打开,说明修改了图片高度,通常宽不会被修改,否则window下将无法打开图片,准备进行爆破
利用pngcheck得到正确的CRC值:cbd6df8a
运行以下脚本(python2)
https://c.runoob.com/compile/6/
# -*- conding: utf-8 -*-
import binascii
import struct
crc32key = 0xcbd6df8a
for i in range(0, 65535):
height = struct.pack('>i', i)
data = '\x49\x48\x44\x52' + '\x00\x00\x01\xF4' + height + '\x08\x06\x00\x00\x00'
crc32result = binascii.crc32(data) & 0xffffffff
if (crc32result == crc32key):
print(''.join(map(lambda c : "%02x" % ord(c), height)))
得到正确的高值:000001f4
使用010editior进行修改,得到正确的图片与flag
值得注意的是,原图长宽相当接近,一开始可以尝试将高修改为宽,效率将更高。
思路,代码来源:《CTF安全竞赛入门》