BugKu-杂项-隐写3 题解
0x00 吐槽
最近被各种各样的课程作业,课程实验搞得头都大(秃)了,快俩月都没好好休息了,BugKu从暑假刷过一点Web的题后就基本上再也没动过了。作为一个菜鸡按理说应该好好刷题争取早日入门,奈何实在是没时间。十一就租好服务器然后一鸽就是一个多月。最近终于抽出了点时间,那就刷刷题,顺便赶紧写出第一次博客
0x01 题解
1.题目
我们先来看一下题,题目叫“隐写3”,很显然是隐写题了,如下:
2.题解
之后我们下载下来后会发现一个压缩文件,解压后里面有一个命名为dabai.png的文件,如下:
一个挺可爱的大白怎么少了半截身子???
看到这里,我就猜到该图片可能是修改了长宽导致下半部分没有显示出来。不过还是按照常规先看一下图片属性,没有什么特殊的地方。之后我们使用binwalk看一下里面有没有隐写了其他文件,就我见过的图片里经常会出现压缩文件、图片、txt等文件。
之前在网上搜索过binwalk的用法,发现大都是直接把图片扔到kail里做,不过因为条件所限(懒),我机子里没有装kail,所以从某个大佬的博客里看到了在Windows里安装binwalk,于是我就在Windows里安装了,下面是用binwalk分析出的结果,发现并没有有其他文件,这是一个很纯洁的图片,嘻嘻嘻 /手动滑稽
然后就用notepad++打开图片,之前在notepad++中安装了Hex-Editer所以我就直接用该插件将一堆乱码变成了16进制格式,看着就舒服多了不是?
观察文件头,开头是89 50 4E 47,证明这是个png格式的文件
下面补充一些常用的文件的文件头:
JPEG (jpg) :FF D8
PNG (png) :89 50 4E 47
GIF (gif) :47 49 46 38
ZIP Archive (zip) :50 4B 03 04
RAR Archive (rar) :52 61 72 21
上述文件头参考了大佬的博客:常用文件的文件头(十六进制)
之后我们回到最初的问题,那就是这个图片大概率是修改了图片的长宽,在png格式下文件的长宽都是4byte,如下所示,前4个byte是长,后4个byte是宽:
上述问题参考了大佬的博客:PNG文件结构分析 ---Png解析
接下来我们把他修改成长宽值相等,即把01 00修改成02 a7,如下所示:
然后我们保存结果,再打开,发现flag已经出现了,如下:
提交,通过,美滋滋!
不错不错,我喜欢看