1. 程式人生 > >Burp Suite使用介紹——Proxy功能(二)

Burp Suite使用介紹——Proxy功能(二)

Target功能

目標工具包含了SiteMap,用你的目標應用程式的詳細資訊。它可以讓你定義哪些物件在範圍上為你目前的工作,也可以讓你手動測試漏洞的過程。

UsingBurp Target

在位址列輸入www.baidu.com,如圖

Image025

這樣看起來site map是不是很亂,則可以右擊add to scope,然後點選Filter勾選Show only in-scope items,此時你再回頭看Site map就只有百度一個地址了,這裡filter可以過濾一些引數,show all顯示全部,hide隱藏所有,如果勾選了表示不過濾

Image027

針對地址右擊顯示當前可以做的一些動作操作等功能。左圖針對檔案右擊顯示當前可以做一些動作操作等功能。下圖

Image029

2)Scope

這個主要是配合Site map做一些過濾的功能,如圖:

Image033

Include in scope就是掃描地址或者攔截歷史記錄裡右擊有個add to scope就是新增到這了,也可以自己手動新增。

Target分為site mapscope兩個選項卡

SiteMap

中心Site Map彙總所有的資訊Burp已經收集到的有關地址。你可以過濾並標註此資訊,以幫助管理它,也可以使用SiteMap來手動測試工作流程。

TargetInformation

SiteMap會在目標中以樹形和表形式顯示,並且還可以檢視完整的請求和響應。樹檢視包含內容的分層表示,隨著細分為地址,目錄,檔案和引數化請求的

URL。您還可以擴大有趣的分支才能看到進一步的細節。如果您選擇樹的一個或多個部分,在所有子分支所選擇的專案和專案都顯示在表檢視。

該表檢視顯示有關每個專案(URL HTTP狀態程式碼,網頁標題等)的關鍵細節。您可以根據任意列進行排序表(單擊列標題來迴圈升序排序,降序排序,和未排序)。如果您在表中選擇一個專案,請求和響應(如適用)該專案顯示在請求/響應窗格。這包含了請求和響應的HTTP報文的編輯器,提供每封郵件的詳細分析。

站點地圖彙總所有的資訊BurpSuite已經收集到的有關申請。這包括:

所有這一切都通過代理伺服器直接請求的資源。
已推斷出通過分析響應代理請求的任何物品(前提是你沒有禁用被動
Spider
內容使用Spider或內容發現功能查詢。
由使用者手動新增的任何專案,從其它工具的輸出。

已請求在SiteMap中的專案會顯示為黑色。尚未被請求的專案顯示為灰色。預設情況下(與被動蜘蛛(passviely scan this host)啟用),當你開始瀏覽一個典型的應用,大量的內容將顯示為灰色之前,你甚至得到儘可能要求,因為BurpSuite發現在您所請求的內容連結到它。您可以刪除不感興趣的地址

Image035

DisplayFilter

Sitemap可以用來隱藏某些內容從檢視中,以使其更易於分析和對你感興趣的工作內容的顯示過濾器 Sitemap上方的過濾欄描述了當前的顯示過濾器。點選過濾器欄開啟要編輯的過濾器選項。該過濾器可以基於以下屬性進行配置:

Request type 你可以只顯示在範圍內的專案,只能與反應專案,或者帶引數的請求。 MIME type您可以設定是否顯示或隱藏包含各種不同的MIME型別,如HTMLCSS或影象的響應。 Status code 您可以設定是否要顯示或隱藏各種HTTP狀態碼響應。 Search term您可以過濾對反應是否不包含指定的搜尋詞。您可以設定搜尋詞是否是一個文字字串或正則表示式,以及是否區分大小寫。如果您選擇了消極搜尋選項,然後不匹配的搜尋詞唯一的專案將被顯示。 Fileextension 您可以設定是否要顯示或隱藏指定的副檔名的專案。 Annotation您可以設定是否顯示使用使用者提供的評論或僅亮點專案。

Annotations

通過添加註釋和批註亮點代理歷史記錄項。這可能是有用的描述不同要求的目的,並標記了進一步檢視。

您可以通過添加註釋和批註亮點代理歷史記錄項。這可能是有用的描述不同要求的目的,並標記了進一步檢視。

兩種方式新增亮點:

1)使用在最左邊的表列中的下拉選單中突出顯示單個專案。
2)可以突出顯示使用上下文選單中的亮點專案的一個或多個選定的專案。
兩種方法添加註釋:
3)雙擊相關條目,註釋列中,新增或編輯就地評論。
4)發表評論使用上下文選單中的添加註釋專案的一個或多個選定的專案。

除了以上兩種,您也可以註釋專案,它們出現在攔截選項卡,這些都將自動出現在歷史記錄表。當您已經註明想要的請求,您可以使用列排序和顯示過濾器後迅速找到這些專案。

Scope

Target scope設定,可以從SiteMap中新增也可以手動新增掃描範圍到Scope。你可以在Target SiteMapProxy history上設定只顯示在範圍內的專案。並且可以設定代理攔截只有在範圍內的請求和響應。Spider會掃描在範圍內的地址。專業版還可以設定自動啟動在範圍內專案的漏洞掃描。您可以配置IntruderRepeater跟隨重定向到任何在範圍內的網址。傳送Burp目標以適當的方式執行行動,只針對你感興趣並願意攻擊專案。

Image037

範圍定義使用的URL匹配規則兩個表 -一個包括(include)”列表和“exclude(排除)”列表中。Burp根據一個URL地址來決定,如果它是目標範圍之內,這將被視為是在範圍上如果URL匹配至少一個“include”在內的規則,不符合“exclude”規則。這樣能夠定義特定的主機和目錄為大致範圍內,且距離該範圍特定的子目錄或檔案(如登出或行政職能)排除。

Spider功能

Burp Spider 是一個對映 web應用程式的工具。它使用多種智慧技術對一個應用程式的內容和功能進行全面的清查。通過跟蹤 HTML JavaScript以及提交的表單中的超連結來對映目標應用程式,它還使用了一些其他的線索,如目錄列表,資源型別的註釋,以及 robots.txt檔案。結果會在站點地圖中以樹和表的形式顯示出來,提供了一個清楚並非常詳細的目標應用程式檢視。能使你清楚地瞭解到一個 web應用程式是怎樣工作的,讓你避免進行大量的手動任務而浪費時間,在跟蹤連結,提交表單,精簡 HTNL原始碼。可以快速地確人應用程式的潛在的脆弱功能,還允許你指定特定的漏洞,如 SQL注入,路徑遍歷。

UsingBurp Spider

要對應用程式使用 Burp Spider需要兩個簡單的步驟:

1 使用 Burp Proxy 配置為你瀏覽器的代理伺服器,瀏覽目標應用程式(為了節省時間,你可以關閉代理攔截)
2 到站點地圖的”target”選項上,選中目標應用程式駐留的主機和目錄。選擇上下文選單的” spider this host/branch”選項。

你也可以在任何 Burp 工具的任意請求或響應上使用上下文選單上選擇” spider this item”。當你傳送一個站點地圖的分支來spideringSpider會首先檢查這個分支是否在定義好的spidering的範圍內。如果不是,Burp會提示你是否把相關的 URL新增到範圍裡。然後,Burp開始 spidering,並執行下面的操作:

在分支上,請求那些已被發現的還沒被請求過的 URL在分支上,提交那些已被發現但提交 URL錯誤的表單。重複請求分支上的先前收到的狀態碼為 304的項,為檢索到一個應用程式的新(未進入快取)副本。對所有的檢索到內容進行解析以確認新的 URL 和表單。只有發現新內容就遞迴地重複這些步驟。繼續在所有的範圍區域內 spidering,直到沒有新內容為止。

注意 Spider 會跟蹤任何在當前定義的 spidering範圍內的 URL連結。如果你定義了一個範圍比較大的目標,並且你只選擇了其中的一個分支來 spidering,這時 Spider會跟蹤所有進入到這個比較大的範圍內的連結,於是也就不在原來的分支上 spider。為了確保 Spider只在指定分支內的請求上,你應該在開始時,就把 spidering範圍配置為只在這個分支上。

你應該小心地使用 Burp Spider。在它的預設設定上,Spider會在 spidering範圍內使用預設輸入值,自動地提交任意表格,並且會請求許多平常使用者在只使用一個瀏覽器不會發出的請求。如果在你定義範圍的 URL是用來執行敏感操作的,這些操作都會被帶到應用程式上。在你完全地開始自動探索內容之前,使用瀏覽器對應用程式進行一些手動的對映,是非常可取的。

Controltab

這個選項是用來開始和停止 Burp Spider,監視它的進度,以及定義 spidering的範圍。

SpiderStatus

Image041

1)Spiderrunning

這個是用來開始和停止 SpiderSpider停止後,它自己不會產生請求,但它會繼續處理通過 Burp Proxy的響應,並且在 spidering範圍內的新發現的項都會送入請求佇列裡,當 Spider重新啟動時,再來請求。這裡顯示的一些 Spider進度的指標,讓你能看到剩餘的內容和工作量的大小。

2)Clearqueues

如果你想改變你工作的優先權,你可以完全地清除當前佇列的專案,來讓其他的專案加入佇列。注意如果被清除的專案如果還在範圍內並且 Spider的分析器發現有新的連結到這個專案,那麼它們還會加入佇列。

SpiderScope

在這個面板裡,你能精確地定義Spider的請求範圍。最好的方法通常是使用一套廣泛的目標範圍,預設情況下,蜘蛛會使用該範圍。如果您需要定義不同範圍的蜘蛛使用,然後選擇“Use custom scope(使用自定義範圍)”。進一步的配置面板會出現在相同的方式套件範圍的目標範圍內面板的功能。如果你使用自定義範圍並向 Spider 傳送不在範圍內的項,則 Burp會自動更新這個自定義的範圍而不是Suite範圍。

Optionstab

這個選項裡包含了許多控制 Burp Spider動作的選項,如下描述。這些設定在 spider動後還可以修改的,並且這修改對先前的結果也是有效的。例如,如果增加了最大連結深度,在以前的最大連結深度外的連結如果滿足現在的條件,也會加入到請求佇列裡。

CrawlerSettings

Image043

1)checkrobots.txt

如果這個選項被選中,Burp Spider會要求和處理robots.txt檔案,提取內容連結。這個檔案是由機器人排除協議控制的蜘蛛狀製劑在網際網路上的行為。請注意,注意 Burp Spider不會確認 robots排除協議。BurpSpider會列舉出目標應用程式的所有內容,請求所有在範圍內的 robots.txt條目。

2)detectcustom "not found" responses

HTTP協議需要向Web伺服器返回404狀態碼,如果一個請求的資源不存在。然而,許多Web應用程式返回使用不同的狀態程式碼定製為“not found”的網頁。如果是這種情況,則使用該選項可以防止誤報的網站內容的對映。BurpSpider從每個域請求不存在的資源,編制指紋與診斷“not found”響應其它請求檢測定製“not found”的迴應。

3)ignorelinks to non-text content

常常需要推斷出在 HTML 上下文裡連結到特殊資源的 MIME 型別。例如,帶有 IMG 標記的 URL 會返回影象;那些帶有 SCRIPT標記的會返回 JavaScript如果這個選項被選中,Spider不會請求在這個上下文出現的出現的非文字資源。使用這個選項,會減少 spidering時間,降低忽略掉感興趣內容的風險。

4)requestthe root of all directories

如果這個選項被選中,Burp Spider會請求所有已確認的目標範圍內的 web目錄,除了那些目錄裡的檔案。如果在這個目標站點上目錄索引是可用的,這選項將是非常的有用。

5)makea non-parameterised request to each dynamic page

如果這個選項被選中,Burp Spider會對在範圍內的所有執行動作的 URL進行無引數的 GET請求。如果期待的引數沒有被接收,動態頁面會有不同的響應,這個選項就能成功地探測出新增的站點內容和功能。

6)maximumlink depth

這是Burp Suite在種子 URL裡的瀏覽”hops”的最大數。0表示讓Burp Suite只請求種子 URL。如果指定的數值非常大,將會對範圍內的連結進行無限期的有效跟蹤。將此選項設定為一個合理的數字可以幫助防止迴圈Spider在某些種類的動態生成的內容。

7)Maximumparameterized requests per URL

請求該蜘蛛用不同的引數相同的基本URL的最大數目。將此選項設定為一個合理的數字可以幫助避免爬行無限的內容,如在URL中的日期引數的日曆應用程式。

Passive Spidering(被動掃描)

Image045

1)passivelyspider as you browse

如果這個選項被選中,Burp Suite會被動地處理所有通過 Burp Proxy HTTP請求,來確認訪問頁面上的連結和表格。使用這個選項能讓 BurpSpider建立一個包含應用程式內容的詳細畫面,甚至此時你僅僅使用瀏覽器瀏覽了內容的一個子集,因為所有被訪問內容連結到內容都會自動地新增到 Suite的站點地圖上。

2)linkdepth to associate with proxy requests

這個選項控制著與通過 Burp Proxy訪問的 web頁面有關的” link depth”。為了防止 Burp Spider跟蹤這個頁面裡的所有連結,要設定一個比上面選項卡里的” maximum link depth”值還高的一個值。

FormSubmission

Image047

1)individuateforms

這個選項是配置個性化的標準(執行 URL,方法,區域,值)。當 Burp Spider 處理這些表格時,它會檢查這些標準以確認表格是否是新的。舊的表格不會加入到提交序列。

2)Don’tsubmit

如果選中這個,Burp Spider不會提交任何表單。

3)promptfor guidance

如果選中這個,在你提交每一個確認的表單前,BurpSuite都會為你指示引導。這允許你根據需要在輸入域中填寫自定義的資料,以及選項提交到伺服器的哪一個區域,以及是否遍歷整個區域。

4)automaticallysubmit

如果選中,Burp Spider通過使用定義的規則來填寫輸入域的文字值來自動地提交範圍內的表單。每一條規則讓你指定一個簡單的文字或者正則表示式來匹配表單欄位名,並提交那些表單名匹配的欄位值。可以為任意不匹配的欄位指定預設值。

在應用程式通常需要對所有輸入域都是有效格式的資料的地方,如果你想通過登記表單和相似功能自動地 spider,則這個選項會非常有用。在自動地把表單資料提交到廣闊範圍內的應用程式時,Burp使用一組非常成功的規則。當然,如果你遇到有自己需要提交的特定值的表單欄位名時,你可以修改這些或者新增自己的規則。你要小心地使用這個選項,因為提交了表單裡的虛假值有時會導致一些不希望看到操作。

許多表單包含了多個提交元素,這些會對應用程式進行不同的操作,和發現不同的內容。你可以配置 Spider重複通過表單裡提交元素的值,向每個表單提交多次,次數低於配置的最大值。

Application Login

Image049

登陸表單在應用程式中扮演一個特殊角色,並且你常常會讓 Burp用和處理平常表單不一樣的方式來處理這個表單。使用這個配置,你可以告訴 Spider在遇到一個表單執行下面 4種不同操作的一種:

1.如果你沒有證書,或者關注 Spidering 的敏感保護功能,Burp 可以忽略登陸表單。
2.Burp 能互動地為你提示引導,使你能夠指定證書。這時預設設定項。
3.Burp 通過你配置的資訊和自動填充規則,用處理其他表單的方式來處理登陸表單。
4.在遇到的每個登陸表單時,Burp 能自動地提交特定的證書。

在最後一種情況下,任何時間 Burp遇到一個包含密碼域的表單,會提交你配置的密碼到密碼域,提交你配置使用者名稱到最像使用者名稱的欄位域。如果你有應用程式的證書,想讓 Spider為你處理登陸,通常情況下這是最好的選項

SpiderEngine

Image051

這些設定控制用於Spidering時發出HTTP請求的引擎。下列選項可用:

1)Number of threads----此選項控制併發請求程序數。
2)Number of retries on network failure----如果出現連線錯誤或其他網路問題,BurpSuite會放棄和移動之前重試的請求指定的次數。測試時間歇性網路故障是常見的,所以最好是在發生故障時重試該請求了好幾次。
3)Pause before retry----當重試失敗的請求,BurpSuite會等待指定的時間(以毫秒為單位)以下,然後重試失敗。如果伺服器被宕掉、繁忙或間歇性的問題發生,最好是等待很短的時間,然後重試。
4)Throttle between requests----BurpSuite可以在每次請求之前等待一個指定的延遲(以毫秒為單位)。此選項很有用,以避免超載應用程式,或者是更隱蔽。
5)Add random variations to throttle----此選項可以通過降低您的要求的時序模式進一步增加隱身。

RequestHeaders

Image053

這些設定控制由蜘蛛發出的HTTP請求中使用的請求頭。您可以配置頭蜘蛛在請求中使用的自定義列表。這可能是有用的,以滿足各個應用程式的特定要求 -例如,測試設計用於移動裝置的應用程式時,以模擬預期的使用者代理。

以下選項也可用:

1)Use HTTP version 1.1----如果選中,Spider會使用HTTP1.1版在其請求;否則,它會使用1.0版。
2)Use Referer header----如果選中,Spider會要求從另一個頁面連結到任何專案時提交相關Referer頭。此選項很有用更加緊密地模擬將通過您的瀏覽器發出的請求,並且還可能需要瀏覽一些應用程式驗證Referer頭。