WriteUp

下载题目,得到一个txt文件,因为内容比较大我就不贴上来了,具体特征是由0~f组成,那盲猜一手16进制,复制,到010里面粘贴自十六进制,发现开头比较像zip文件头,那保存成zip,载入zip模板,发现模板尾部还有一堆数据,提取到新文件,根据文件头推测是jpg文件,那就存成jpg文件,载入jpg模板,发现没啥异常的,那就观察这俩文件吧。

zip里存在一个相同的jpg文件(crc32相同且文件大小相同所以是同个文件),那就是明文攻击的题呗。

这题其实算是比较常见的手法了,因为各种CTF练习站几乎都会出个这手法的题。

不过Zip的明文攻击题有点烦人的就是比较挑软件,因为不同压缩软件生成的zip明文并不一样,然后如果和出题人用的不是同一个压缩软件的话,就很大可能没法成功生成相同明文的zip,也就没法发起攻击。(如果用不同的压缩软件成功了,那就说明这俩的核心源码是同一份,或者调用了同一个压缩库

这题我拿BandiZip7zip试了一下,都不是。。。于是去问了一下出题人,用的是2345好压,那么我在虚拟机里装个好压生成个明文就能成功碰撞了。

安装好压,压缩2.jpg,用1.zip一样的压缩算法压缩,得到2.zip,用ARCHPR的明文模式,将2.zip设为明文,攻击1.zip,一会就到了寻找密码的状态,这时候就已经可以停止了(如果压缩包密码的内容不影响解题的话),因为这时候已经可以直接导出无密码的压缩包了。

最后解压无密码的1.zip,得到flag图片。

flag

flag{NynU001368}