WriteUp
下载题目,得到一个txt文件,因为内容比较大我就不贴上来了,具体特征是由0~f
组成,那盲猜一手16进制,复制,到010
里面粘贴自十六进制,发现开头比较像zip
文件头,那保存成zip
,载入zip
模板,发现模板尾部还有一堆数据,提取到新文件,根据文件头推测是jpg
文件,那就存成jpg
文件,载入jpg
模板,发现没啥异常的,那就观察这俩文件吧。
zip
里存在一个相同的jpg
文件(crc32相同且文件大小相同所以是同个文件),那就是明文攻击的题呗。
这题其实算是比较常见的手法了,因为各种CTF练习站几乎都会出个这手法的题。
不过Zip的明文攻击题有点烦人的就是比较挑软件,因为不同压缩软件生成的zip明文并不一样,然后如果和出题人用的不是同一个压缩软件的话,就很大可能没法成功生成相同明文的zip,也就没法发起攻击。(如果用不同的压缩软件成功了,那就说明这俩的核心源码是同一份,或者调用了同一个压缩库
这题我拿BandiZip
和7zip
试了一下,都不是。。。于是去问了一下出题人,用的是2345好压
,那么我在虚拟机里装个好压生成个明文就能成功碰撞了。
安装好压,压缩2.jpg
,用1.zip
一样的压缩算法压缩,得到2.zip
,用ARCHPR
的明文模式,将2.zip
设为明文,攻击1.zip
,一会就到了寻找密码的状态,这时候就已经可以停止了(如果压缩包密码的内容不影响解题的话),因为这时候已经可以直接导出无密码的压缩包了。
最后解压无密码的1.zip
,得到flag图片。
flag
flag{NynU001368}