0x0一、瞭解已知明文攻擊的含義
轉自:http://www.sohu.com/a/274916484_704736加密
「已知明文攻擊」的概念和原理spa
咱們爲zip壓縮文件所設定的密碼,首先被轉換成3個32bit的key,因此可能的key的組合是2^96,這是個天文數字,若是用暴力窮舉的方式是不太可能的,除非你的密碼比較短或者有個厲害的字典。blog
壓縮軟件用這3個key加密全部包中的文件,也就是說,全部文件的key是同樣的,若是咱們可以找到這個key,就能解開全部的文件。ip
若是咱們找到加密壓縮包中的任意一個文件,這個文件和壓縮包裏的文件是同樣的,咱們把這個文件用一樣的壓縮軟件一樣的壓縮方式進行無密碼的壓縮,獲得的文件就是咱們的Known plaintext(已知明文)。用這個無密碼的壓縮包和有密碼的壓縮包進行比較,分析兩個包中相同的那個文件,抽取出兩個文件的不一樣點,就是那3個key了,如此就能獲得key。兩個相同文件在壓縮包中的字節數應該相差12個byte,就是那3個key了。雖然咱們仍是沒法經過這個key還原出密碼,可是咱們已經能夠用這個key解開全部的文件,因此已經知足咱們的要求了,畢竟對咱們而言,獲得解壓後的文件比獲得密碼自己更重要。get
也就是說咱們須要找到壓縮包中的無加密文件來解密加密的文件,那麼怎麼找到這樣的文件呢?it
0x0二、尋找「已知明文」
「已知明文」找到其實也就至關於找到了密碼,基本就能攻擊成功,因此這一步是關鍵。class
使用WinRAR打開加密壓縮包文件,雖然沒法所有打開,可是能看到包中的文件列表以及文件屬性,包括:文件名稱、文件大小、壓縮後大小、修改日期、CRC值等。原理
「已知明文」極可能就是那個屬性相近,CRC值相同的文件(不少「已知明文」是不起眼的ppt、文本文件等)軟件
0x0三、利用ARCHPR進行攻擊
將「已知明文」文件單獨壓縮到一個壓縮包裏,在ARCHPR中填充對應路徑後進行攻擊密碼