窮舉法 通過社工盡可能的縮小密碼字典的范圍
所用到的工具:
Firefox瀏覽器及其插件Proxy Switcher, OWASP ZAP代理抓包工具。
OWASP ZAP 代理抓包工具
初始信息:
DVWA默認賬戶 admin 密碼 password
登錄后先通過DVWA Security頁面設置DVWA的安全等級,Low最低。若發生安全等級設置失敗的情況可清理瀏覽器的歷時記錄、選中並刪除cookie信息。重啟瀏覽器后再進行嘗試。
工具設置過程:
使用火狐瀏覽器插件Proxy Switcher 快捷設置切換網頁代理 設置代理端口為本地的 8080
打開OWASP ZAP軟件 默認端口為上面所說的8080無需修改。
LOW等級:
使用火狐瀏覽器嘗試輸入賬號密碼並進行抓包,例如我輸入賬號密碼為test、test后由於賬號密碼錯誤網頁反饋如下:


發送的數據包如下
GET
http://192.168.3.88/dvwa/vulnerabilities/brute/?username=test&password=test&Login=Login HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Cookie: security=low; PHPSESSID=8qd5kkbn4mm1c606l3kaessq93
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Host: 192.168.3.88
我們可以看到時一個GET請求 賬號密碼作為參數進行發送 ?username=test&password=test

點擊右鍵菜單內的Fuzz選項

刪除默認的字典

分別選中 用戶名和密碼兩個參數的值並添加字典
username示例字典
admin
root
guest
test
password示例字典
admin
123456
111111
666666
root
password
添加完字典后點擊strat Fuzzer按鈕即可自動發送用戶名和密碼的全部組合的請求包。

根據返回包文件的大小進行排序發現只有一個返回包的大小是4.88k,該次請求所發送的賬戶密碼與我們所知道的相符。即完成了low等級的暴力破解。
medium等級

如圖所示,重復low等級的操作依然可以成功破解出正確的賬戶密碼。區別在於每一次的請求包響應時間由毫秒基本變成了2~10秒。這樣大大的增加了我們破解出密碼鎖需要的時間。
查看PHP源碼可以看到每次錯誤時sleep2秒

high等級
抓包后發現high等級的請求包中新出現了一個token字段
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Cookie: security=high; PHPSESSID=06b53r58f92jqsf8bj8b3td9t5
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Host: 192.168.123.88
這個字段源自於上一個響應包中,這樣就要求我們發送的每個請求包中包含隨機生成的token值。我們無法簡單的使用owasp完成。
這里先給出一段網易雲課堂web安全微專業老師提供的代碼供參考,注意運行前修改IP地址以及 PHPSESSID信息。后續有可能會更新成自己寫的代碼^_^
impossible等級

這個等級是安全的,密碼輸錯3次后賬戶將被鎖定15分鍾。
防止暴力破解的有效手段:
1、限制嘗試次數
2、驗證碼(驗證碼存在被技術破解風險僅用於增加每次嘗試的成本)