HackThisSite - Steganography Mission 5

Challenge

Steganography

题目给一张 BMP(/missions/stego/lvl/stego5.bmp),密码藏在像素数据里。

Solution

这关的手法是把像素值当数据(与改扩展名/尾部追加那类做法不同): 把 BMP 转成十六进制转储后,可以看到像素三元组(每 3 个十六进制字节 = 一个像素的 RGB)里 存在有规律的偏差。某些分量比邻近像素略高或略低,这些偏差就是被编码的比特。

1
2
3e 3f 3f   4e 4f 4f   42 43 42   3b 3b 0a
0 1 1 0 1 1 0 1 0 1 1 0

把这类偏差按顺序抽出来拼成位流,再按 8 位一组转 ASCII

Key points

把信息藏进像素的低位/微差是最经典的隐写:对肉眼和普通查看器完全不可见, 但只要把图像当作字节数组而不是图片来读,规律就立刻暴露。 它只能对抗只看图不看数据的处理流程。

syn-ack-rst