前言
手動一個個試太慢了,現在該輪到 Intruder 上場。Intruder 可以根據我設定的規則,自動化地替換請求中的特定部分,並發送大量請求。
第三步:設定 Intruder 自動化攻擊
我回到 「Proxy」 -> 「HTTP history」,再次在那次登入請求上按右鍵,這次選擇 「Send to Intruder」。
我切換到 「Intruder」 分頁,這裡有四個子分頁需要設定。
Target: Burp 已經自動幫我填好了目標 IP 和埠號,不用動。
Positions: 這是最關鍵的一步。Burp 會自動用 § 符號標示出它認為可以被替換的參數。但它猜得太多了,我只想爆破密碼。所以我先點擊右邊的 「Clear §」 清除所有標記。
然後,我用滑鼠選取 password= 後面的值 (例如 123),再點擊 「Add §」。這樣,Intruder 就知道等一下只需要替換這個位置的內容。
Payloads: 這裡要設定用來替換的「彈藥」。
Payload type 我維持預設的 Simple list。
在下面的 Payload Options 中,我可以手動加入一個密碼清單。對於 DVWA 的 low 等級,弱密碼的可能性很高。我先手動加入幾個常見的:
password
123456
admin
test
qwerty
第四步:發動攻擊並分析結果
設定都完成了。我深吸一口氣,點擊右上角的 「Start attack」 按鈕。
一個新的攻擊視窗彈了出來,Intruder 開始用我提供的列表一個個去嘗試密碼。
可以看到,當 Payload (密碼) 是 123456、admin、guest、qwerty 時,回傳的 Length 都是 1669。
但是,當 Payload 是 password 時,回傳的 Length 是 1670!
這個 1670 就是與眾不同的那一個,這就是我要找的線索!
這代表 password 這個密碼得到了跟其他密碼完全不同的伺服器回應,這幾乎可以 100% 確定它就是正確的密碼。
成功了!
今日總結
設定 Intruder 的目標 (Positions) 和彈藥 (Payloads)。
從攻擊結果中,透過分析回應長度的差異來找出成功的請求。
這個過程讓我深刻體會到,如果網站沒有任何防護機制(像是登入失敗次數限制),面對自動化工具的密碼爆破是多麼地脆弱。一個簡單的腳本就能在短時間內嘗試成千上萬種組合。
明天,我準備挑戰下一個漏洞:Command Injection (指令注入)。這個漏洞聽起來更危險,如果成功,可能可以直接在伺服器上執行我想要的指令。有點緊張,但更多的是期待