0x003图片隐写之pngcheck+隐藏二维码

图片隐写继续学习,之前将学习记录都记在了有道云笔记上,自己掉过的坑不想让别人再掉一遍。

先上题

哇塞美女!

图片链接地址:https://pan.baidu.com/s/1lXMU_xNJDmFoLVu-hs5XjA 密码:6otw

1、上来使用通用方法。先用stegsolve查看一下,看看其他的LSB之类的并没有发现什么问题,

然后使用checkpng 检查图片结构是否存在问题,发现有一些异常的IDAT块。


可以看到,正常的块的length是在65524的时候就满了,而倒数第二个IDAT块长度是45027,最后一个长度是138,很明显最后一个IDAT块是有问题的,因为他本来应该并入到倒数第二个未满的块里。

2、查看异常数据块的情况,使用010editor/winhex打开,导出异常数据块

3、 查找78 9C文件头标志,发现是zlib压缩。可以查找用python zlib解压方法

4、网上搜索zlib的python解压方法,将异常的IDAT数据块斩头去尾之后使用脚本解压

发现是一堆的31303130,此时赛棍立马就知道怎么回事,初学者看了writeup复现的时候才知道,如下:

5、使用Hex to ASCII在线转换工具

https://www.asciitohex.com/

将所有Hex转成ASCII

6、转成ACII后全选发现是625个binary,使用如下脚本画出二维码(第一次做此类题的时候,手动分割NXN的binary,然后粘贴到Excel中,0画黑1不画= =,如果没出来,再1画黑...)

Tips:某次比赛,屏蔽各种信号,画出二维码后没有本地二维码解析器,无法解析出flag。百度搜索准备一个本地二维码扫描器

猜你喜欢

转载自blog.csdn.net/u010391191/article/details/80818785