Bugku-CTF加密篇之zip偽加密(flag.zip)


zip偽加密

 
 
本題要點:zip偽加密
 
 
 
 
下載flag.zip
 
 
先介紹一下關於 zip偽加密的小知識點~
 
zip偽加密是在文件頭的加密標志位做修改,進而再打開文件時識被別為加密壓縮包
一個 ZIP 文件由 三個部分組成:
 
壓縮源文件數據區+壓縮源文件目錄區+壓縮源文件目錄結束標志
 
壓縮源文件數據區
50 4B 03 04:這是頭文件標記(0x04034b50)
14 00:解壓文件所需 pkware 版本
00 00:全局方式位標記(有無加密)
08 00:壓縮方式
5A 7E:最后修改文件時間
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校驗(1480B516)
19 00 00 00:壓縮后尺寸(25)
17 00 00 00:未壓縮尺寸(23)
07 00:文件名長度
00 00:擴展記錄長度
 
壓縮源文件目錄區
50 4B 01 02:目錄中文件文件頭標記(0x02014b50)
3F 00:壓縮使用的 pkware 版本
14 00:解壓文件所需 pkware 版本
00 00:全局方式位標記(有無加密,這個更改這里進行偽加密,改為09 00打開就會提示有密碼了)
08 00:壓縮方式
5A 7E:最后修改文件時間
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校驗(1480B516)
19 00 00 00:壓縮后尺寸(25)
17 00 00 00:未壓縮尺寸(23)
07 00:文件名長度
24 00:擴展字段長度
00 00:文件注釋長度
00 00:磁盤開始號
00 00:內部文件屬性
20 00 00 00:外部文件屬性
00 00 00 00:局部頭部偏移量
 
壓縮源文件目錄結束標志
50 4B 05 06:目錄結束標記
00 00:當前磁盤編號
00 00:目錄區開始磁盤編號
01 00:本磁盤上紀錄總數
01 00:目錄區中紀錄總數
59 00 00 00:目錄區尺寸大小
3E 00 00 00:目錄區對第一張磁盤的偏移量
00 00:ZIP 文件注釋長度
 
 
 
 
因此,根據此題目來看:
 
壓縮源文件數據區:50 4B 03 04:這是頭文件標記
 
壓縮源文件目錄區:
50 4B 01 02:目錄中文件文件頭標記
3F 00:壓縮使用的 pkware 版本 
14 00:解壓文件所需 pkware 版本 
00 00:全局方式位標記(有無加密,這個更改這里進行偽加密,改為09 00打開就會提示有密碼了)
壓縮源文件目錄結束標志 :50 4B 05 06:目錄結束標記 
 
我們用winhex打開壓縮包,搜索504B,點擊第二個504B(壓縮源文件目錄區)
 
 
軟件:winhex
我們看到上圖,紅色框住的50 4B 是壓縮源文件數據區的頭文件標記,它對應的紅色框柱的 09 00 並不影響加密屬性。
綠色框住的50 4B 是壓縮源文件目錄區 ,它對應的綠色框柱的 09 00 影響加密屬性,當數字為奇數是為加密,為偶數時不加密。
 
因此我們更改標志位保存即可。
 
 
然后另存。
 
注:得用WinRAR打開另存后的壓縮包,現在360壓縮打開仍然有密碼。
 
 
 
 
 
 
 
方法二:
 
使用ZipCenOp.jar
 
將flag.zip和ZipCenOp.jar都放在同一文件夾
 
在命令行中執行以下命令:
 
java -jar ZipCenOp.jar r flag.zip
 
 
 
直接打開壓縮包即可。(選擇WinRAR這款加壓縮軟件打開)
 
 

 
 
 
 
完成~
 
 
 
 
 
 
 
參考資料:
 
https://blog.csdn.net/wclxyn/article/details/7288994
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM