MISC-WarmUP
题目:一个加密的压缩文件和一张图片
思路:压缩文件中的图片CRC32的值和给出的图片压缩之后的CRC32的值一样,考虑ZIP明文攻击。

解题:ZIP明文攻击工具:Advanced Zip Password Recovery。
ZIP明文攻击就是利用已知文件找加密密钥,利用密钥来解锁其它加密文件,因为ZIP压缩包里的所有文件都是使用同一个加密密钥来加密的。
选择“plain-text”攻击,输入两个Zip的路径,开始攻击。

破解成功后得到UnEncrypted文件夹,里面有fuli.png、fuli2.png,打开发现两张图片基本一样,使用stegsolv进行Xor运算, 打开图片fuli.png,点击Analyse->image combiner,进行两张图片的对比。

发现有横纹,推断是使用了盲 水印隐写:https://github.com/chishaxie/BlindWaterMark。

git clone之后,执行以下命令: python bwm.py decode fuli.png fuli2.png out.png
。需要安装opencv-python和matplotlib两个库。

得到的结果out.png没有看到flag?? 看来一下说明python3和python2加解密结果不同,可能是这个原因。有点坑。

MISC-pyHAHA
题目:一个.pyc文件
思路:pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code。首先反编译成.py文件。uncompyle6 -o PyHaHa.py .\PyHaHa.pyc
依旧是因为python的版本问题报错了.

看了Writeup发现不是这么做,用010editor/winhex打开,看到倒序的flag,”galf“

写脚本逆序保存为flag.pyc:

再次用010Editor打开,发现pyc缺少文件头03F30D0A,而且由刚才的逆序发现pyc尾部追加了文件,foremost提取得到zip,其中pyc添加文件头并去除尾部zip得到flag2.pyc:

Window下打开zip,发现注释信息含两段flag密文,zip中有MP3文件,进行了伪加密,0908改为0008即可。Mp3用DeEgger Embedder工具提取得到含有多段base32的数据。通过base32解密,明文是一篇文章,再次base32转码发现尾部字母存在差异。猜测相差为1的隐藏数据为1,相差为0的隐藏数据为0,其中base32数据尾部不含=号的不参与写入数据,写脚本转换。得到的数据其实是一张二值图像,转换下可以看到图片是flag,只不过后半部分被加密了,加密算法应该是在刚刚的pyc里。对Fl4g.pyc使用uncompyle2或者在线工具反编译得到加密脚本。