暴力破解複習及Intruder子產品詳解
一、關鍵詞解讀
Burp Suite:用于攻擊web滲透測試工具;
Proxy:代理子產品,用于過濾資料、攔截資料和抓包;
Intruder:攻擊子產品,用于對web滲透測試;
Positons:攻擊方式的确定以及發起攻擊,用于設定攻擊方法與發送資料格式;
Payloads:攻擊子產品下的載荷子產品,配置字典;
Options:攻擊子產品下的指令子產品,用于攻擊結果處理設定;
二、基于表單的暴力破解
1、随意輸入賬号密碼到靶頁面并點選登入:

2、利用Proxy > HTTP histroy抓包并發送至Intruder子產品:
3、确定攻擊方式,此處我們利用Cluster bomb(集束炸彈)(較為常用);
4、确定攻擊格式,隻将需要傳的變量值加上辨別符§:
5、進入Payloads載荷子產品,Payload set中數字對應前面的第幾個變量(我這裡的1=賬号,2=密碼),分别為這幾個變量添加Payload Options破解變量字典:
6、進入Options攻擊結果處理設定,在Grep-Match中添加密碼錯誤的關鍵詞進行過濾審閱:
7、設定完以上攻擊方式、格式、方法以及結果處理後,即可進入Postions子產品中點選開始攻擊Start attack得到結果:
響應結果中不含報錯資訊(username or password is not exists)的即為正确賬号密碼。
三、驗證碼繞過(on client)
1、可通過檢視網頁源代碼發現該驗證碼屬于前端自認證,伺服器不判斷:
2、故可按基于表單的暴力破解方式破解,不需要将驗證碼做成變量。
四、驗證碼繞過(on server)
1、可通過檢視網頁源代碼發現前端無驗證碼認證,故屬于後端認證;
2、先随意輸入賬号、密碼和驗證碼,通過代理子產品下的抓包功能(Proxy>Intercept is on):
3、點選Forward檢視資料送出到哪裡處理:
或者可以檢視源代碼中驗證碼來源:
3、打開showvcode.php分析:
4、引用了function.php,打開分析:
發現session_start()在showvcode.php中調用打開後,沒有在funtion.php用session_distroy()關閉,某個狀态可能儲存沒清空有問題。
5、在目标頁面分别嘗試輸入空驗證碼、錯誤驗證碼和正确驗證碼最後發現,正确的驗證碼輸入後狀态未更新可以繼續使用;
6、故第一次駛入正确驗證碼後作為常量傳值,仍可使用基于表單的暴力破解方法。
五、Intruder攻擊子產品詳解
1、子子產品:
(1)Target:用于配置目标伺服器進行攻擊的詳細資訊;
(2)Positions:攻擊方式的确定以及發起攻擊,用于設定攻擊方法與發送資料格式;
(3)Payloads:攻擊子產品下的載荷子產品,配置字典;
(4)Opetions:攻擊子產品下的指令子產品,用于攻擊結果處理設定;
2、Targe:
(1)Host:填寫目标主機的IP或主機名;
(2)Port:填寫目标主機的端口号;
(3)Use HTTPS:指定的SSL是否應該被使用。
3、Positions:
(1)Attack type:攻擊方式的選擇:
1)Sniper:對變量依次進行破解,多個标記依次進行(一次行動隻對一個标記發送一個資料進行破解);
2)Battering rm:對變量同時進行破解,多個标記同時進行(一次行動對多個标記發送相同一個資料進行破解);
3)Pitchfork:每個變量對應一個字典,取每個字典的對應項(一次行動對多個标記發送多個字典中序号相同的資料進行破解);
4)Cluster bomb(集束炸彈,常用):每個變量對應一個字典,并且進行交集破解,嘗試各種組合。(交叉破解,适用賬号+密碼的破解)。
(2)§:變量注釋符(前後個一個)。
4、Payloads:
(1)Payload Sets:變量數量類型設定(數字代表第幾個變量);
(2)Payload Opetions:破解字典的增删改查;
(3)Payload Processing :對生成的Payload進行編碼、加密、截取等操作;
(4)Payload Encoding:對應字元進行URL編碼;
5、Options:
(1)Request Headers:配置請求頭(是否更新、是否關閉連接配接);
(2)Request Engine:設定發送請求的線程、逾時重試等;
(3)Attack Results:設定攻擊結果的顯示;
(4)Grep – Match:添加密碼錯誤的關鍵詞進行過濾審閱;
(5)Grep – Extract:通過正則提取傳回資訊中的内容。