CTF中ZIP总结
记录一下我在CTF中遇到的ZIP的部分解法,可能不是很全
ZIP伪加密
0000H~002DH(灰色区域)为压缩源文件数据区,002EH~008FH(桃红区域)为压缩源文件目录区,0090H~00A5H(黄色区域)为压缩源文件目录结束标志。
识别真假加密
无加密
压缩源文件数据区的全局加密应当为00 00
压缩源文件目录区的全局方式位标记应当为00 00
伪加密
压缩源文件数据区的全局加密应当为00 00
压缩源文件目录区的全局方式位标记应当为09 00
真加密
压缩源文件数据区的全局加密应当为09 00
压缩源文件目录区的全局方式位标记应当为09 00
处理方法
1部分mac或者linux可无视伪加密
2可以利用ZipCenOp.jar(需要Java环境)
3WinRar修复压缩包
4可以修改二进制位
字典爆破
使用工具+字典或者脚本+字典爆破
明文攻击
手里有原压缩包和压缩包内部分文件,可以使用明文攻击方式。
可以将压缩包内的文件进行压缩,然后用ARCHPR这个工具进行明文攻击
CRC碰撞
可以使用GitHub上开源的脚本 https://github.com/theonlypwner/crc32
使用方式
python crc32.py reverse crc32密文
二进制位里是16进制,所以要加0x,而且因为大小端问题,所以如果二进制编辑器里是52 ad 5e 2f
执行命令就是 python crc32.py reverse 0x2f5ead52