攻防世界-Check

题目

描述:套娃? 下载附件下来是一个图片 ![[check.png]]

使用010editor查看,和正常图片对比也没有什么问题。

正常图片:

题目图片:

010editor看不出什么,但是题目只有一个图片的情况下,应该就是通过什么方法把信息隐藏在里面了。然后通过查阅资料,发现有一种隐写方式,称之为LSB隐写。具体如下:

LSB隐写

LSB 隐写 (Least Significant Bit Steganography) ,中文一般叫 最低有效位隐写术


基本原理

  • 数字文件(图像、音频、视频)本质上都是由二进制数据构成。

  • 在像素值、音频采样值等数据中,最低有效位 (LSB) 对整体感官影响很小。

    • 例如:一个像素的 RGB 分量是 10110010 (178),如果把最后一位改成 10110011 (179),人眼几乎看不出差别。
  • 因此,可以把要隐藏的信息(文本、密钥、图片等)的二进制位,逐个替换进这些最低有效位。


图像中的例子

假设一张 24 位真彩色图片,每个像素有 R、G、B 三个字节:

  • 原始像素:R=10110010, G=01011101, B=11001000

  • 如果要隐藏比特串 011,把每个颜色通道的最后一位替换掉:

    • R → 1011001010110010 (最后一位=0)

    • G → 0101110101011100 (最后一位=1 → 改成0)

    • B → 1100100011001001 (最后一位=0 → 改成1)

  • 人眼几乎看不出图片的变化,但其实里面藏了 011


解题

那么就再查资料,看一下这种隐写方式怎么处理。这里找到一个工具:StegSolve.jar 基于Java,在系统里安装适合版本的Java即可。

使用它打开图片,然后点击:Analyse → Data Extract 再勾选以下选项:然后点击 Preview 即可看到筛选的信息。再导出为txt,进行解码即可

这样,就得到flag:flag{h0w_4buT_enc0d_4nd_png}

题外话

为什么只需要查看plane 0?

1. 人眼对 LSB 不敏感

  • 一张彩色图片的每个像素通常由 8 位 R、8 位 G、8 位 B 三个通道组成。

  • 如果只改动最低有效位 (bit0),像素值最多变化 ±1(例如 178→179),人眼基本察觉不到差异。

  • 所以 最适合藏东西的位置,就是 LSB。


2. 信息容量与隐蔽性最佳点

  • 一张 1024×768 的图片 ≈ 78 万像素 × 3 通道 = ~235 万字节数据。

  • 如果只用 LSB,每个像素能藏 3 bit,总容量 ~293 KB,已经很可观。

  • 而且图像肉眼几乎不变。

  • 如果往更高 bit-plane(bit1、bit2...)藏,肉眼就可能看出色块、噪点 → 太显眼。

所以 plane0 是容量与隐蔽性的最佳折中点


3. 工具 & 出题习惯

  • 在 CTF/隐写分析中,出题人常常会用最常见的手法(R/G/B 的 plane0)。

  • 因为 plane0 一般就能显现出简单图案(文字、二维码),解题者只要用 StegSolve/zsteg 就能发现。

  • 当然,也有高难度题目会藏在 plane1、plane2,或者只藏在某个单通道(比如 Blue plane0),但「默认优先检查 plane0」是经验法则。


4. 为什么是"三原色的 plane0"

  • LSB 隐写一般不会改 alpha 通道(透明度),因为那很容易被肉眼察觉。

  • 所以目标锁定在 R/G/B。

  • 三个通道中任选一个甚至多个,放进去的隐藏信息,在 plane0 分解后会以黑白图像显现


总之,因为 LSB 隐写最隐蔽、最常用,而 plane0 正是最低有效位所在的平面,所以优先查看三原色的 plane0 最容易发现隐藏信息。

相关推荐
JH30733 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
Coder_Boy_4 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
invicinble5 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟5 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖5 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
九河云5 小时前
5秒开服,你的应用部署还卡在“加载中”吗?
大数据·人工智能·安全·机器学习·华为云
qq_12498707536 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
枷锁—sha6 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Coder_Boy_6 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.6 小时前
Day06——权限认证-项目集成
java