MISC - 高度隐写

MISC - 高度隐写_第1张图片
下载题目,解压缩,得到一张图片
但是在Kali环境下无法正常打开,说明修改了图片高度,通常宽不会被修改,否则window下将无法打开图片,准备进行爆破
MISC - 高度隐写_第2张图片

利用pngcheck得到正确的CRC值:cbd6df8a
MISC - 高度隐写_第3张图片
MISC - 高度隐写_第4张图片

运行以下脚本(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
MISC - 高度隐写_第5张图片
使用010editior进行修改,得到正确的图片与flag
MISC - 高度隐写_第6张图片
值得注意的是,原图长宽相当接近,一开始可以尝试将高修改为宽,效率将更高。

思路,代码来源:《CTF安全竞赛入门》

你可能感兴趣的:(python,经验分享)