針對口令的暴力破解攻擊方式

2021-10-11 08:48:25 字數 922 閱讀 9337

使用者名稱加口令(也就是常說的密碼)仍然是目前最常用的身份驗證方式。在身份識別一文中,我們介紹了幾種常用的針對口令驗證的攻擊和防範技術。今天這篇著重講一下其中的暴力破解。

暴力破解的基本思想很樸素:通過不斷重試來猜測口令。不過現在的系統都有防止自動化登入的機制,如驗證碼、多次輸入錯誤口令後使用者受限等;同時系統基本都是採用儲存和對比口令摘要的方式進行驗證。而前面講過,摘要運算是單向加密,也就是無法從摘要計算出原文。因此不斷重試並不是指採用嘗試不同的口令直接登入系統的方式,而是通過嘗試計算不同原文的摘要,試圖找到與目標使用者的口令摘要一致的摘要,從而確定口令原文的破解方式。多說一句,目標使用者的口令摘要比較容易拿到:通過網路抓包或從資料庫拖庫得到。

對於上面的問題,最簡單的方法就是對不同的原文進行窮舉計算了。但實際上是不可行的,比如,對於10位的大小寫字母加數字(先不算特殊字元了)組成的口令,其數量是(26×

\times

× 2+10)10 = 6210 = 8 .39 ×

\times

× 1017,這個就約等於84億億,按照現在pc主頻計算,即使我們每納秒可以校驗乙個摘要,也就是一秒鐘10億次,全部窮舉也需要26年, 這還是中等強度的口令,如果是14位長度的口令,窮舉就需要近4億年。

那我們換一種思路,利用雲計算、分布計算等方法,將上述給定長度口令的所有摘要事先計算出來,然後儲存到乙個巨大的資料庫儲存中,在需要破解時直接查詢摘要所對應的口令原文。我們先計算這樣的資料庫儲存都多大。就以摘要比較短的md5為例,每個摘要是16個位元組(128位), 10位口令產生的儲存資料量是(10+16)×

\times

× 8.39×

\times

× 1017位元組,約2.03萬億gb ,也就是說如果用pc裡常見的1tb的硬碟,也得需要20億塊,按照目前機械硬碟中最便宜的容量**比0.15元/gb,也需要3050億元。另外,這還只是10位口令長度,128位摘要長度的情況……

暴力破解FTP口令

先啟動ftp服務 from pyftpdlib.handlers import ftphandler from pyftpdlib.servers import ftpserver from pyftpdlib.authorizers import dummyauthorizer authorize...

暴力破解漏洞攻擊

一 暴力破解漏洞原理 暴力破解漏洞的產生來自於伺服器並沒有對輸入引數的內容,輸入引數次數進行限制。導致攻擊者可以通過暴力的手段進行破解所需要的資訊。二 暴力破解例項 注釋 演示環境dvwa測試環境,安全等級 low 暴力破解工具burpsuite,2.1 解析 isset 函式 檢測變數是否已經設定...

python 弱口令暴力破解工具

環境 python 3.6.7 coding utf 8 import pymysql success false f user open username.txt r f pwd open password.txt r lines user f user.readlines 讀取出來是乙個列表 l...