SimpleRAR(来源:攻防世界)
1.关卡描述
2.解题步骤
分析:
上面说到双图层,还有拼图,那肯定与图片有关
我们下载附件
发现有一个文本,但里面没有flag,那我们使用erditor或者winhex分析一下:
发现了一张图片,foremost分离出来,发现不行 ,改后缀也不行,也没看到png的文件头,不知道如何去做了。
============================
参考:
正确的思路是,下载的附件是rar,很有可能考查的是rar隐写的问题,我们使用winRAR来打开进行查看:
发现里面有一个flag.txt,还提示了一个secret.png文件头损坏,这意味着我们有一个文件无法查看,先看看flag.txt
结果在意料之中,flag不会这么明显,还要说一点的是我们使用 2345等解压软件是看不到提示什么secret.png文件头损坏的
但是我们利用editor或者winhex等软件也能发现这张图片的信息:
接下来我们就要说一下 rar文件的知识了,如果对他不了解,那么作者一道题将没有任何意义:
资料参考自RAR编码文件格式分析 - 百度文库 为了方便阅读,思维结构图:
他们的作用:(百度百科)
看到上面是不是有点迷茫,那我们根据实际案例进行解决:
我们把这个压缩包的快类型都整理出来:
在补充一点:
RAR 是有四个文件块组成的,分别是分别是标记块、归档头部块、文件块、结束块,这些块之间没有固定地先后顺序,但要求第一个块必须是标志块并且其后紧跟一个归档头部块。
在这个图里面,第一个块是标记块,它的crc是61 52,块类型是72,块标志是1A 21,块大小是00 07。
注意,这种多字节的域是从右往左读的,比如这个crc 是61 52,不是 52 61
然后我们看到这个文本内容“flag is not here”结束之后的地方也就是那个隐藏起来的图片的文件头,3C A8是crc,而7A是块类型,但是一看发现这个块类型有点问题,这个应该是文件头的位置,但是7A不是文件头,是子块,所以我们把7A改成74,然后保存,重新解压,就可以发现已经把隐藏图片解压出来了。
一张纯白的图片
----
------
纯白的图片,那肯定是图片隐写了,我们利用winhex来查看数据信息:
看见文件头是gif,但我们的图片是png,而GIF (gif),文件头:47494638 是对的,那么我们直接修改后缀名:
得到两张图片,但依旧是白色的图片,我们想到题目中的提示:双层图,说明我们的做法没问题,那就继续使用隐写工具stegsolve看看是否还隐藏了哪些信息
只发现了半个二维码,另一个没找到,想到这是gif图片,有两个黑白图,所以我们利用:
把第二张图片保存为png图片:(当然使用2345看图王也能分离出来,方法不唯一)
这样就凑齐了,但发现这个二维码的定位点缺失了,所以我们不仅要把这两个二维码拼在一起,还要粘贴定位标志:
这里我利用画图工具,打开一个图片,然后复制另一个图片(去掉多余的东西),再复制一些定位点就搞定了
由于我们是利用画图工具,合并的并不完美,在线网站会无法识别,但我们利用微信,支付宝,QR扫码可以扫描得到flag
flag{yanji4n_bu_we1shi}
5.由题可知为双层图,用ps打开分离图层后保存
(具体步骤:点击图层 - 复制图层 - 确定,再点击文件 - 储存 - 保存)
再用stegsolve分别打开两个gif,得到两张不全的二维码,p全二维码,扫描得到
作者:Du1in9
链接:攻防世界--MISC--SimpleRAR--wp - 简书
=================================
知识补充:
RAR 是有四个文件块组成的,分别是分别是标记块、归档头部块、文件块、结束块,
这些块之间没有固定地先后顺序,但要求第一个块必须是标志块并且其后紧跟一个
归档头部块。每个块都包含以下内容:
归档头部块和文件块的内容较多,斗哥仅列出每个块头部内容:
RAR 的标记块和结束块都是固定的 7 字节序列,分别为 0×52 61 72 21 1A 07 00 和 0xC4 3D 7B 00 40 07 00。文件块这边要注意一下 HEAD_FLAGS 这个头部,其中 HEAD_FLAGS 的低三位代表加密标志,此位若被置为 1,则文件使用了基于密钥的加密。
这一题,查看 winhex 中标记块和结束块都正常,通过上面的知识点我们可以发现 png 的图
片压缩的文件头有问题,文件块的 HEAD_TYPE 应该是 0×74 而不是 0x7A。
=================
参考:
攻防世界 misc新手区 SimpleRAR wp - 程序员大本营