题目:链接: https://pan.baidu.com/s/1boR66L5 密码: e2ad
在Steg目录下。
首先下载的是这个文件
![Uploading 解压后的文件_178260.png . . .]
onlyOneFile.png
解压。。。
Paste_Image.png提问:Stega题目该怎么做呢?套路+经验?
我认为:这种方式对于简单的目比较有效,我们比赛时可以尝试,但在日常练习中最好有一个清晰的思路。
我的思路:
1.分析文件的构成,用WinHex等16进制查看器查看文件。
2.看到后面的PK,我猜这是一个包(PacKage),再看前面8个16进制数,是50 4B 03 04,而ZIP Archive (zip),文件头:504B0304,那就加后缀再解压呗。 解压后。.png
3.解压后发现有很多文件,xaa~xcz,3*26=78个文件。我决定先看头和尾。
4.xaa一看就是png头,PNG (png),文件头:89504E47。
没多远又看到一个信息,了解到这图片是和Adobe Fireworks cs5有着不清楚的关系。 貌似有用的信息.png
然而去看xaa的尾却没有发现png的结束标志IEND(必不可少)。
然后我去查看xcz。 xcz尾.png
从尾部发现png结束标志IENDxxx,png文件的结尾12个字符看起来总应该是这样的:00 00 00 00 49 45 4E 44 AE 42 60 82。(百度大法好)
我大致猜到了这78个文件组成起来就是一个完整的png图片。
然而。。。
可达鸭眉头一皱,发现事情并不简单。
78个文件,从头到尾复制粘贴成一个文件,嗯还好只是78个,单身手速没问题。如果出题人刻意刁难,文件个数特别多怎么办?(你的手指不抽筋吗?)
回答:似乎我可以编程解决。
这里我先把后续步骤列出来,再详细讲解编程思路。
5.png完整还原。然而区区在下对Stegsolve的粗浅把式还套路不出什么。我又用步骤4中的信息,用adobe的软件打开发现有两图层。
图层.png隐藏掉第一个,发现第二个图层(伪二维码.png)似乎是二维码(离Flag很接近了)
伪二维码.png对比一下自己的QQ,微信二维码,发现似乎是图片的黑白颜色对调了。
6.用Stegsolve直接调,或者ps反相,然后就可以扫了。
ctf新手写的writeup,希望大家喜欢。
以下编程思路
特别重要的编程:我用的是python,因为使用方便操作快捷。
因为初学者的我的能力只有just so so,所以就搭建简单的框架,想要实现复制和粘贴的功能。(需要知道相对路径作用)
测试1.png测试无误,测试时功能实现了。
2.然后改用xaa测试。
bug1.png
没求佛祖,果然报错,错后百度,立地成佛。
3.修正版1。其中print测试语句可以去掉。
修正版1.png测试,无bug。
4.加循环操作。
成功版1.png
运行后将new_file加png后缀即可得到完整图片。
网友评论