執行個體詳解利用Python暴力破解zip檔案口令的方法

來源:互聯網
上載者:User
通過Python內建的zipfile模組實現對zip檔案的解壓,加點料完成口令破解。本文主要給大家介紹了關於利用Python暴力破解zip檔案口令的相關資料,文中通過範例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,希望能協助到大家。

前言

zipfile模組用來做zip格式編碼的壓縮和解壓縮的,zipfile裡有兩個非常重要的class, 分別是ZipFile和ZipInfo, 在絕大多數的情況下,我們只需要使用這兩個class就可以了。ZipFile是主要的類,用來建立和讀取zip檔案而ZipInfo是儲存的zip檔案的每個檔案的資訊的。

比如要讀取一個Python zipfile 模組,這裡假設filename是一個檔案的路徑:


import zipfile z = zipfile.ZipFile(filename, 'r') for i in z.infolist(): print i.file_size, i.header_offset

這裡使用了z.infolist(), 它返回的就是壓縮包內所有檔案的資訊,就是一個ZipInfo的列表。一個ZipInfo對象中包含了壓縮包內一個檔案的資訊,其中比較常用的是 filename, file_size, header_offset, 分別為檔案名稱,檔案大小,檔案資料在壓縮包中的位移。

準備階段

首先你需要一個壓縮檔,並且給它加上密碼,樣子長成這樣


然後你就成功Get了一個內建密碼的壓縮檔,好了,這就結束了

暴力破解

首先我們Crowdsourced Security Testing道下什麼是暴力破解,其實簡單粗暴點來說,就是通過輪循的方式比對,我們一定都知道MD5加密,那麼MD5是無法復原的,那網上那些所謂的MD5解密的網站是怎麼做到的,其實也是暴力破解的方式。

舉個栗子,你通過MD5加密了一段字串 str="abc" 加密後的結果為 "3cd24fb0d6963f7d" 這麼一長串別人肯定看不懂,MD5解密網站怎麼做的,他們自己沒事乾的時候開始瞎試,把aa/cc/bb/abc 啥的都開始用MD5加密一遍,存到自己的資料庫裡,當你去查詢的時候,他們會根據你提供的 "3cd24fb0d6963f7d" 在資料庫裡面比對,如果巧合的話就能找不到,大部分情況你的加密字串稍微複雜點都找不到,這就是所謂的MD5解密,也就是暴力破解了

上代碼


import zipfile #匯入模組,它是做壓縮和解壓縮的password="123" #我們設定的口令zfile = zipfile.ZipFile("test.zip") #要解壓縮的壓縮包zfile.extractall(path='C:\\Users\\Administrator\\Desktop\\', members=zfile.namelist(), pwd=password.encode('utf-8'))#進行解壓縮操作,path為輸出的路徑

我們運行一下上面的代碼(當然你的加密口令要為123),會發現在案頭上已經把test.zip解壓出來了,完美ending,不對還差一個暴力破解呢,自己知道密碼還要破解啥有用,別著急,繼續往下看


import zipfile zfile = zipfile.ZipFile("test.zip")passFile=open('pwd.txt') #讀取你設定的密碼檔案for line in passFile.readlines():  try:    password = line.strip('\n')    zfile.extractall(path='C:\\Users\\Administrator\\Desktop\\', members=zfile.namelist(), pwd=password.encode('utf-8'))    break  except:    print("又錯了")

pwd.txt裡面內容如下


1223abcaaa123

好了,這就完成了zip檔案口令的暴力破解,其實只是很巧妙的利用了try except異常機制,當解壓正常的時候就正常密碼正常,解壓失敗會報出異常,動手試試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.