BJDCTF2020]一叶障目_解题方式的基本思考
经过一年多的CTF比赛,我自己也总结了一些小技巧。今天通过这个简单的例题,和大家分享一下做Misc_png题的秘诀把!
解题方法
提示:
1.先试试文件分离;
2.再试试Stegsolve.jar查看是是否存在;
3.用wihex打开,分析文件头与高度;
4.接着分析数据流中第一个数据块.
一、png文件是什么?(出题思路)
PNG是一种采用无损压缩算法的位图格式(所以高难度的flag,都是隐藏在数据块中)。PNG使用从LZ77派生的无损数据压缩算法,应用于JAVA程序、网页或S60程序中,原因是它压缩比高,生成文件体积小。其中最总要的就是 文件结构[记录文件头 + 文件结构 + 数据描述符] {此处可重复多次} + 核心目录 + 目录结束标识,大家可以背下来,方便以后记忆。
二、解题步骤
方法一:(手动)
1.打开WinHex,寻找文件
第一步:打开,对png的文件头进行效验(文件头我放在最后的总结里)
如下图(所示):
ssl._create_default_https_context = ssl._create_unverified_context
2.更改文件"高度"
如下图所示:
第一个问题:高度可以更改是因为方隐藏flag;
第二个问题:破坏了文件的完整性,使隐藏flag泄露;
第三个问题:尽量往大处改,这样避免改小后看不见f