1. 程式人生 > >CTF中ZIP總結

CTF中ZIP總結

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總結