CTF中ZIP總結
阿新 • • 發佈:2018-11-23
style 需要 密文 部分 識別 真假 壓縮包 ont java
記錄一下我在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
CTF中ZIP總結