2026.7.13(8)【图片隐写】LSB

📌 题目信息

项目内容
题目名称LSB
题目来源BUUCTF
题目类型MISC / 图片隐写
子分类LSB(最低有效位)隐写
考点LSB隐写原理、StegSolve通道提取、二维码扫描
难度⭐⭐
最终 Flagflag{1sb_i4_s0_Ea4y}


🛠️ 使用工具

  • StegSolve(核心工具,用于 LSB 隐写提取)
  • QR Research(用于扫描提取出的二维码图片)

📝 解题思路

这道题的核心是 LSB(最低有效位)隐写。与“镜子里面的世界”类似,Flag 被隐藏在 RGB 三个通道的最低位中。但本题的特殊之处在于:提取出的数据是一张二维码图片,需要再用二维码扫描工具读取才能得到最终 Flag。

💡 LSB 原理回顾:LSB(Least Significant Bit)通过修改每个像素点 RGB 颜色分量的最低二进制位来隐藏信息,而人眼不会注意到这种微小的颜色变化。本题将一张二维码图片的每个像素点的二进制数据,拆分写入到了原始图片的 RGB 通道最低位中。


第 1 步:下载并解压附件

从 BUUCTF 平台下载题目附件,解压后得到一张图片文件(png 格式)。


第 2 步:快速检查(排除法)

在深入分析前,先用常规手段快速检查,排除其他可能性:

检查项操作结果
图片属性右键查看属性/详细信息无有用信息
binwalk 分离binwalk -e --run-as=root image.png无额外文件
strings 提取strings image.png \| grep flag无结果
十六进制编辑器查看文件末尾无附加明文

结论:排除文件拼接和明文附加,确定为 LSB 隐写。


第 3 步:用 StegSolve 打开图片

运行 StegSolve,点击 File → Open,导入题目图片。


第 4 步:进入 Data Extract 功能

点击菜单栏的 Analyse → Data Extract,打开数据提取窗口。


第 5 步:设置提取参数

在 Data Extract 窗口中:

  1. Red、Green、Blue 三个通道的 Bit Plane 全部设为 0(即提取每个通道的最低有效位)。
  2. Bit Order 设置为 LSB First
  3. Bit Plane Order 保持为 RGB

⚠️ 注意:如果 Preview 没有显示清晰的内容,可以尝试切换 Bit Order(MSB First / LSB First)或调整通道组合。


第 6 步:预览并保存提取结果

点击 Preview 按钮,预览区域会显示提取出的隐藏信息。

在本例中,预览区域显示的是一张二维码图片(因为文件头是png)。

  1. 点击 Save Bin 按钮。
  2. 将提取的数据保存为 flag.png(或其他 .png 文件名)。

第 7 步:扫描二维码获取 Flag

使用 QR Research 打开上一步保存的二维码图片:

  1. 打开 QR Research。
  2. 点击 “打开图片” 导入 flag.png
  3. 工具会自动识别并解码二维码内容。

扫码得到flag{1sb_i4_s0_Ea4y}。

⚠️ 注意:Flag 中的 1sb数字 1 而非字母 li4 中是数字 4 而非字母 aEa4y 中是数字 4 而非字母 a


🏁 最终 Flag

flag{1sb_i4_s0_Ea4y}

💡 拓展:LSB 隐写的变体

变体类型说明
文本 LSB直接将明文字符串隐藏在 LSB 中(如“镜子里面的世界”)
图片 LSB将一张图片(如二维码)的像素数据隐藏在 LSB 中(如本题)
音频 LSB将信息隐藏在 WAV 音频文件的样本数据最低位中
多通道组合可能只使用 Red 0 通道,或使用 Red 0 + Green 1 等组合
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值