HackThisSite - Steganography Mission 5

Challenge

Steganography

题目给一张 BMP(/missions/stego/lvl/stego5.bmp),密码藏在像素数据里;提交字段 pass

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,就得到一段报文文本 (与 TCP 握手字样同族,形如 syn-ack-...)。

提交后关卡页变 You have already done this mission.,profile 的 Stego: 行出现 (5)。 注意 HTS playit 类错误答案不会报任何错,客户端的关键词启发式会把成功提交判成失败, 唯一可靠的判据是 profile 徽章(或下一关 GoOn 链接)。

Vulnerabilities

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

syn-ack-rst