1. 程式人生 > >Burp Suite詳細使用教程-Intruder模組詳解

Burp Suite詳細使用教程-Intruder模組詳解

0×01 介紹
安裝要求:
Java 的V1.5 + 安裝( 推薦使用最新的JRE ), 可從這裡免費
 http://java.sun.com/j2se/downloads.html
 Burp Suite 下載地址:http://portswigger.net/burp/download.html
入門:
安裝完成後可以雙擊可執行的JAR 檔案,如果不工作,你可以執行在命令提示符或終端輸入。
命令: Java –jar burpsuite_v1.4.jar
Burp

Burp Suite 包含了一系列burp 工具,這些工具之間有大量介面可以互相通訊,之所以這樣設計的目的是為了促進和提高 整個攻擊的效率。平臺中所有工具共享同一robust 框架,以便統一處理HTTP 請求,永續性,認證,上游代理,日誌記錄,報警和可擴充套件性。Burp Suite允許攻擊者結合手工和自動技術去列舉、分析、攻擊Web 應用程式。這些不同的burp 工具通過協同工作,有效的分享資訊,支援以某種工具中的信 息為基礎供另一種工具使用的方式發起攻擊

Proxy

 提供一個直觀、友好的使用者介面,他的代理伺服器包含非常詳細的攔截規則,並能準確分析HTTP 訊息的結構與內容。

Spide 爬行蜘蛛工具,可以用來抓取目標網站,以顯示網站的內容,基本結構,和其他功能。

Scanner  Web 應用程式的安全漏洞進行自動發現工具。它被設計用於滲透測試,並密切與您現有的技術和方法,以適應執行手動和半自動化的Web 應用程式滲透測試。

Repeater 可讓您手動重新發送單個HTTP 請求

Intruder 是burp 套件的優勢,他提供一組特別有用的功能。它可以自動實施各種定製攻擊,包括資源列舉、資料提取、模糊測試等常見漏洞等。在各種有效的掃描工具中,它能夠以最細化、最簡單的方式訪問它生產的請求與響應,允許組合利用個人智慧與該工具的控制優點。

Sequencer 對會話令牌,會話識別符號或其他出於安全原因需要隨機產生的鍵值的可預測性進行分析。

Decoder 轉化成規範的形式編碼資料,或轉化成各種形式編碼和雜湊的原始資料。它能夠智慧識別多種編碼格式,使用啟發式技術。

Comparer  是一個簡單的工具,執行比較資料之間的任何兩個專案(一個視覺化的“差異”)。在攻擊一個Web 應用程式的情況下,這一要求通常會出現當你想快速識別兩個應用程式的響應之間的差異(例如,入侵者攻擊的過程中收到的兩種反應之間之間,或登入失敗的反應使用有效的和無效的使用者名稱)之間,或兩個應用程式請求(例如,確定不同的行為引起不同的請求引數)。

<span padding-bottom:="" 0px;="" padding-left:="" color:="" rgb(0,="" 0,="" 0);="" "="">0×02 配置


開啟Burp 套件,配置監聽埠





 

一旦代理埠選擇和服務在burp 套件開始,我們需要配置我們的瀏覽器。在大多數瀏覽器,你只需開啟設定-網路-代理,然後告訴它使用“localhost”和埠“8080”(或任何您正在執行的埠,預設Burp: 8080)。然後儲存更新的設定.

現在我們可以再瀏覽器中輸入我們要檢查的網站。你會看到burp 套件工具,proxy 選項卡上會亮起紅色,表示它需要你的輸入。預設行為是攔截設定為ON,這意味著它捕獲的所有傳送請求,然後要求使用者輸入,以決定是否資料包將被轉發或丟棄。你可以轉發,並觀看頁面載入目標網站 www.2cto.com 。如果你嫌麻煩那你可以INTECEPTOR Off,只是手動抓取的網站,將捕獲的資料傳送到“歷史記錄”選項卡,你可以手動檢查審查和測試。



關掉攔截你在歷史記錄裡面會看到所有提交過的資料,在這裡你可以看到所有request 和response 的資料。現在,我們可以右鍵進行其他的測試。
 




0×03 intruder 定製攻擊自動化

今天我將利用DVWA 的SQL 注入進行測試。你可以看到下面的圖片,SQL 注入很簡單,我們測試:

 










 

我們需要捕捉使用者ID 請求,點選提交按鈕,抓取資料包後,用有效載荷測試使用者輸入的ID值。
要做到這一點,我們必須確保,Burp 攔截我們的要求:

將提交使用者ID 的請求,併發送到intruder 你可以看到下面:





工具已經自動為我們創造了有效載荷測試的位置。有效載荷的位置使用§符號作為每個有針對性的攻擊位置的起始和結束標記。你想測試的位置前後用§§符號進行標示。
然後設定攻擊型別,有4 種模式供大家選擇。具體這四種模式的區別大家可以參考burp 的官方幫助文件。

Sniper 這種攻擊模式可以讓我們選擇的攻擊位置注入一個單一的有效載荷。這需要的有效載荷選項,將它們插入到選定的位置,然後重複,直到它已測試所有的有效載荷選項。如果選擇多個位置,它會只適用於測試,一次一個位置。我會告訴你如何使用這個測試在幾秒鐘之內的SQL 漏洞的跡象

Pitchfork 這種攻擊模式允許你測試多種有效載荷,最大能夠自定義8 個,基於攻擊位置。這種攻擊模式設定不同的有效載荷為每個位置逐一同時測試。

Cluster bomb 這種攻擊模式使用多種有效載荷,並允許你測試每一個可能有效載荷在每個選擇的攻擊位置,這意味著接下來的測試,交換任何其他有效載荷。當你有不同需要注射的地方,它將會非常的方便。

今天我選用的是sniper 模式進行測試,我會告訴你如何使用這個測試SQL 漏洞。雖然Burp自帶了測試語句但是我還是希望自己手動去整理語句,下面是我自己整理的一些SQL 注入測試的語句:



 
'
"
/
/*
#
)
(
)'
('
and 1=1
and 1=2
and 1>2
and 12
+and+12
/**/and/**/1


我們來配置攻擊測試。如圖

由於我個人已經整理好txt 所以我直接載入我的語句

確定後,我們來到選項標籤下面的grep—match 設定測試結果匹配選項。大家可以用預設的選項,也可以載入自己收集的錯誤資訊。

設定完成後,我們就可以執行測試,點選主選單上的intruder— start sttack

現在,這將開啟一個新的視窗,在這裡我們可以看到自動測試的結果

你可以清楚地看到,返回頁面大小差異。後面對勾的地方,表示發現grep-match 中我們提供的文字。如果你點選一個請求,你可以檢視到我們實際傳送的請求,以及響應,因此,我們現在可以清楚地看到錯誤資訊。

現在我們已經確定找到了一個潛在SQL INJECTION 漏洞。這是好的開端,但現在怎麼辦?現在,我們回去給入侵者設定和工作,改變我們的設定,以進一步測試和利用。現在讓我們看看如果我們可以設定入侵者測試ORDER BY 來確定快速列數。使用了同樣的要求,我們將現在的位置插入語句。

ORDER BY 1—
ORDER BY 2—
+ORDER+BY+1—
+ORDER+BY+2—
/**/ORDER/**/BY/**/1—
/**/ORDER/**/BY/**/2—






現在我們已經找到列數為2!您可以使用響應請求長度的線索來判斷。現在我們將這個請求傳送到Repeater,現在我們將使用Repeater 找到脆弱列。







好了 現在我們知道脆弱的列,我們現在可以把這個請求轉入到intruder 中去進行下一步的資訊刺探和測試,我們插入自己整理好的一些資料庫資訊進行自動化測試。

接下來我們可以用intruder 的另一種攻擊模式來檢查我們其他可以利用的資料庫


 








 

現在我們有基本資訊,庫,我們可以繼續下去,重新配置intruder,從而獲得所有的表名。但要記得庫名要做十六進位制轉換,編碼可以用burp 自帶的decoder。









 

重新配置intruder—獲取列名










現在就可以直接用repeater 直接傳送請求獲取資料了

文章在此就告一段落了。這次講解burp-intruder 只是拋磚引玉,更多強大功能歡迎大家和我探討。 如果有朋友願意共享1.4.0.5 專業版,麻煩遞我個。Thanks

作者:小冰