图片里蕴含信息
这就得具体情况具体分析了。
改后缀
可能一开始给我们的不是图片,而是文档之类的,用记事本打开
如果像这一类的就是改PNG图片,
有个别需要改后缀名少见 ,
图片后缀很多,例如png、jpg、bmp、gif、tif、webp也有在线转化的网站哦。
但也有像bpg文件,无法直接查看。到网站https://bellard.org/bpg/下载
把你要查看的bpg文件放到你下载工具的目录下,打开命令符,输入bpgview.exe 文件名就行了


有些需要先去在线网站把图片格式转化,才能直接binwalk提取就能得到flag.png了。
例如png格式转为bmp格式,bmp格式下,中间的位置插入了一个gzip的数据,直接肉眼看很难看出来,至于为什么原本的png格式下,binwalk得不到结果呢?大师傅们的解释是png和bmp像素点的读取方式不一样。
16进制
这里我用的是winhex
属性
有些信息隐藏在属性中
有的和你说在图片属性中,但是右键找不到,右键的信息比较少,
**https://exif.tuchong.com/**信息比较全
在模板块中也能找到
binwalk分离
而有些东西需要分离才能查到
用binwalk -e

藏在另一张图
这是一张图。
放入tweakpng中,删除一个IDAT块,保存为新的图片。得到flag

手撸
binwalk分析发现有额外数据,直接binwalk -e或者foremost分离不出来,无奈手撸。
从选中的数据开始,复制到结尾,新建为一个jpg文件。
thumbnail隐写
用magicexif(http://www.xue51.com/soft/23613.html)打开


藏在时间里
利用exiftools查看时间
将得到的时间进行时间戳转化(一开始都不知道有这东西)
时间戳再转hex得到flag。
高度
bmp
bmp即第二行6-9位修改位为高即可

png
一般在第二行4-7
JPG.
一般在ffc0后面
GIF
一般在8403后面
宽度
我们一般不知道多少,而宽也没法像高度试试,所以复制了大佬代码。
同时爆破宽度和高度
filename = "misc32.png"
with open(filename, 'rb') as f:
all_b = f.read()
data = bytearray(all_b[12:29])
n = 4095
for w in range(n):
width = bytearray(struct.pack('>i', w))
for h in range(n):
height = bytearray(struct.pack('>i', h))
for x in range(4):
data[x+4] = width[x]
data[x+8] = height[x]
crc32result = zlib.crc32(data)
#替换成图片的crc
if crc32result == 0xE14A4C0B:
print("宽为:", end = '')
print(width, end = ' ')
print(int.from_bytes(width, byteorder='big'))
print("高为:", end = '')
print(height, end = ' ')
print(int.from_bytes(height, byteorder='big'))


藏在动态图中
有些GIF图片闪的快,可能就在某一帖中。
需要注意的是APNG图片也是动态图,如果直接用图片查看,看到的只是一张图片,如果用浏览器打开就是个动态图。需要用工具APNG Disassembler分离
不过也有是利用不同帧之间的间隔时间来隐写的。kali里用命令identify -format "%T " misc39.gif > misc39.txt提取帧数.
特殊字符组成

IDAT
用tweakpng打开图片,发现这七个数正好是ctfshow对应的ascii码

更过分的是
用tweakpng打开,报了一堆错,然后使用pngdebugger分析,发现所有IDAT块的crc32值都是错误的
,所以也可能藏在错误中,如果对错都多的话有可能对错是0或1.
还有每一个IDAT块前面都会有一个fcTL块,它其中就包含水平垂直偏移量。所以可能是坐标啥的。
stegsolve
这个我另一篇博客有写,但是考虑到比较懒的,就在这里在写一遍吧。
格式
File Format:文件格式
Data Extract:数据提取
Steregram Solve:立体试图 可以左右控制偏移
Frame Browser:帧浏览器
Image Combiner:拼图,图片拼接
用法(使用场景)
1.File Format:这里你会看见图片的具体信息有时候有些图片隐写的flag会藏在这里
2.Data Extract:好多涉及到数据提取的时候
3.Steregram Solve:立体试图 可以左右控制偏移 可以放张图片试一下就知道这个是什么意思了
4.Frame Browser:帧浏览器 主要是对GIF之类的动图进行分解,把动图一帧帧的放
5.Image Combiner:拼图,图片拼接(意思显而易见)
直接用
。

stereogramsolver

Data Extract

用这个Data Extract出来
也不是很会用就取最低值了