0x1 附加式图片隐写
这种是最简单的隐藏flag的方式,通常用某种程序或者方法在载体图片中直接附加上需要被隐写的内容,使用strings工具搜索直接获取flag或者一段经过加密的字符或文字,这时观察密文的特征,找出密文对应的加密方式,选择相应的解密工具即可得到flag。
0x2 图种式图片隐写
一般这种图片看起来和普通图片没什么区别,但其实这个图片是由压缩包伪装成的,一般flag的文本文件就藏在这个压缩包中。
制作图种隐写过程:
(1)先准备好一张图片a.jpg和要隐藏的压缩包b.zip;
(2)打开命令行提示符,将活动目录改到图片和压缩包所在的目录;
(3)输入命令copy a.jpg+b.zip c.jpg,点击回车,就能在文件夹中看到一个图片文件c.jpg,这个图片就是已经伪装好的压缩包
解锁图种隐写方式:
(1)用WinRAR的方式打开图片;
(2)修改文件尾缀.jpg、.png等为.zip;
(3)使用binwalk工具进行提取:binwalk -e xxx.jpg
0x3 修改图片宽高
多见于png图片,这种一般是将图片有flag的那一部分通过改变图片高或者宽进行隐藏,一般看到图片题中显示不完整的图片多为这种隐藏方式;
但这并不意味着看起来完整的图片就没有隐藏部分,实际上flag可能隐藏在其另一部分。
用winhex打开图片,找到png图片前缀IHDR
图片前缀后面各8位的16进制数字就是就是图片宽度和高度
先检查一下CRC校验码是否有问题,再使用python脚本进行真实高度爆破,修改图片高度为真实高度(02 -> 80)
0x4 文件开头和结尾的补写
有的图片文件在用WinHex打开后会发现文件开头或者结尾不全,将文件开头或结尾补全,将图片保存,再打开图片就可以了
附:常见图片文件的开头和结尾
0x5 LSB隐写(最低有效位)
需要先配置好Java环境,以及工具***Stegsolve.jar***
File Format:文件格式,查看图片的具体信息;
Data Extract:数据抽取,图片隐藏数据的抽取;
Steregram Solve:立体试图,左右控制偏移;
Frame Browser:帧浏览器,主要是对GIF之类的动图进行分解;
Image Combiner:图片拼接。
具体操作:
(1)用Stegsolve.jar打开图片;
(2)先点击下面的切换按钮,观察图片有无异常;
(3)再进行如下操作;
(4)勾选R,G,B的最低位即第0位,以及右侧选择框中的LSB First;
(5)接着点击下方的Preview按钮,在文本框中查看有无flag;
0x6 F5图片隐写(图片加密)
打开命令行,切到F5文件所在所在的位置
在命令行中输入:
java Extract 图片的绝对路径/xxx.jpg -p 密码
然后打开F5-steganography文件夹中的output.txt文件查看flag

