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

0×00 題外話
最近迷上了burp suite 這個安全工具,百度了關於這個工具的教程還賣900rmb。。。ohno。本來準備買滴,但是大牛太高傲了,所以沒買了。所以就有了今天這個文章。感謝幫助我的幾個朋友:Mickey、安天的Sunge。
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

20120708123500380.jpg

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

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

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

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

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

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

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

Decoder 轉化成規範的形式編碼數據,或轉化成各種形式編碼和散列的原始數據。它能夠智能識別多種編碼格式,使用啓發式技術。

Comparer  是一個簡單的工具,執行比較數據之間的任何兩個項目(一個可視化的“差異”)。在***一個 Web 應用程序的情況下,這一要求通常會出現當你想快速識別兩個應用程序的響應之間的差異(例如,***者***的過程中收到的兩種反應之間之間,或登錄失敗的反應 使用有效的和無效的用戶名)之間,或兩個應用程序請求(例如,確定不同的行爲引起不同的請求參數)。

0×02 配置
打開Burp 套件,配置監聽端口

 

20120708123501768.jpg
20120708123501522.jpg

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

20120708123501202.jpg

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

 

20120708123502586.jpg

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

20120708123502257.jpg

0×03 intruder 定製***自動化

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


20120708124544939.jpg



20120708124544559.jpg

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

20120708124544780.jpg

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

20120708124545141.jpg
20120708124545727.jpg

工具已經自動爲我們創造了有效載荷測試的位置。有效載荷的位置使用§符號作爲每個有針對性的***位置的起始和結束標記。你想測試的位置前後用§§符號進行標示。
然後設置***類型,有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


我們來配置***測試。如圖

20120708125046629.jpg

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

20120708125046504.jpg

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

 

20120708125208580.jpg

設置完成後,我們就可以運行測試,點擊主菜單上的intruder— start sttack

20120708125209645.jpg

現在,這將打開一個新的窗口,在這裏我們可以看到自動測試的結果

 

20120708125347307.jpg

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

 

 

20120708125347283.jpg

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

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

 


20120708010756313.jpg
20120708010756237.jpg
現在我們已經找到列數爲2!您可以使用響應請求長度的線索來判斷。現在我們將這個請求發送到Repeater,現在我們將使用Repeater 找到脆弱列。
20120708010756891.jpg
20120708010757403.jpg

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

Version()
User()
Database()
@@hostname
@@basedir
@@datadir

20120708011040834.jpg
20120708011040482.jpg


這裏我們不用設置grep 了 至於爲什麼大家自己想把。。。


20120708011041827.jpg
20120708011041296.jpg

 

接下來我們可以用intruder 的另一種***模式來檢查我們其他可以利用的數據庫


20120708011943842.jpg
20120708011943902.jpg
20120708011944269.jpg
20120708011944326.jpg

現在我們有基本信息,庫,我們可以繼續下去,重新配置intruder,從而獲得所有的表名。但要記得庫名要做十六進制轉換,編碼可以用burp 自帶的decoder。
20120708012157877.jpg
20120708012157952.jpg
20120708012158469.jpg
20120708012158740.jpg
20120708012158754.jpg
20120708012158376.jpg

 

重新配置intruder—獲取列名



20120708012345583.jpg
20120708012345560.jpg
20120708012346487.jpg
20120708012346290.jpg

現在就可以直接用repeater 直接發送請求獲取數據了

20120708012346633.jpg

文章在此就告一段落了。這次講解burp-intruder 只是拋磚引玉,更多強大功能歡迎大家和我探討。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章