漏洞描述:
暴力破解的基本思想是根據題目的部分條件確定答案的大致范圍,并在此范圍內對所有可能的情況逐一驗證,直到全部情況驗證完畢。若某個情況驗證符合題目的全部條件,則為本問題的一個解;若全部情況驗證后都不符合題目的全部條件,則本題無解。常常存在于網站的登錄系統中,通過對已知的管理員用戶名,進行對其登錄口令的大量嘗試。
測試方法:
找到網站登錄頁面。利用burp對登錄頁面進行抓包,將其發送到Intruder,并設置其密碼參數,如pwd=為變量,添加payload(字典),進行攻擊,攻擊過程中查看其返回的字節長度,來判斷是否成功。
常見暴力破解有三種形式:
1) 固定賬號對密碼暴力破解。
2) 在得知賬號具有規律性,或者通過某種方式獲取到大量賬號的前提下,固定密碼對賬號暴力破解。
3) 使用網上流傳的賬號密碼庫進行撞庫攻擊。
風險分析:攻擊者一般會使用自動化腳本組合出常見的用戶名和密碼,即字典,再結合軟件burpsuite的intruder功能進行暴力破解。
風險等級:
【中】:存在暴力破解風險,但未暴破出密碼。
修復方案:防止暴力攻擊的一些方法如下:
1 賬戶鎖定
賬戶鎖定是很有效的方法,因為暴力破解程序在5-6次的探測中猜出密碼的可能性很小。但是同時也拒絕了正常用戶的使用。如果攻擊者的探測是建立在用戶名探測成功之后的行為,那么會造成嚴重的拒絕服務攻擊。對于對大量用戶名只用一個密碼的探測攻擊賬戶鎖定無效。如果對已經鎖定的賬戶并不返回任何信息,可能迷惑攻擊者。
2 返回信息
如果不管結果如何都返回成功的信息,破解軟件就會停止攻擊。但是對人來說很快就會被識破。
3 頁面跳轉
產生登錄錯的的時候就跳到另一個頁面要求重新登錄。比如126和校內網都是這樣做的。局限性在于不能總是跳轉頁面,一般只在第一次錯誤的時候跳轉,但是第一次之后又可以繼續暴力探測了。
4 適當的延時
檢查密碼的時候適當的插入一些暫停,可以減緩攻擊,但是可能對用戶造成一定的影響。
5 封鎖多次登錄的IP地址
這種方法也是有缺點的,因為攻擊者可以定時更換自己的IP。
6 驗證碼
驗證碼是阻止暴力攻擊的好方法,但設計不好的驗證碼是可以繞過的,而且對于特定目標的手工探測來說驗證碼是沒有作用的。