滲透測試之BurpSuite工具的使用介紹(二)


若希望從頭開始了解BurpSuite的介紹,請訪問第一篇(滲透測試之BurpSuite工具的使用介紹(一)):https://www.cnblogs.com/zhaoyunxiang/p/15999958.html

三、BurpSuite的代理模塊介紹:

1.什么是BurpSuite代理:

Burp代理是一個用來攻擊和調試 web應用程序的交互式的 HTTP /S代理服務器。他就像一個在瀏覽器和目標服務器之間的中介人,並允許用戶攔截,查看和修改兩個方向上的原始流量。

Burp代理允許你通過監視和操縱應用程序傳輸的關鍵參數和其他數據來查找和探索應用程序的漏洞。通過以惡意的方式修改瀏覽器的請求,Burp代理可以用來進行攻擊,如:SQL注入,cookie欺騙,提升權限,會話劫持,目錄遍歷,緩沖區溢出。攔截的傳輸可以被修改成原始文本,也可以是包含參數或者消息頭的表格,也可以十六進制形式,甚至可以操縱二進制形式的數據。在Burp代理可以呈現出包含 HTML或者圖像數據的響應消息。

除了每一個請求的操縱外,Burp代理保持着一個完整的歷史記錄,包括瀏覽器發送的每一個請求,所有的操作,以及接收到的所有響應。你可以復查較早的請求,並修改后補發任何請求,還能以原始的形式或者 web頁面的形式來查看保存的響應。可以把兩個方向上的整個會話記錄到一個文件中,用來作進一步分析或者提供審查線索。

在 Burp Suite里,Burp代理是何其他工具緊密地集成在一起的。並允許把任意的請求和響應發送到其他工具里作進一步處理。通過一次單擊,你可以把一個感興趣的請求作為分析會話令牌的基礎,或者經過人工修改后再發送,漏洞分析,或者使用 Burp Intruder進行一次自定義的自動攻擊。

通過基於域名,IP地址,協議,HTTP方法,URL,資源類型,參數,cookies,消息頭/消息體內容,響應代碼,內容類型和 HTML頁面標題的請求和響應的細微規則來控制 Burp代理的交互式行為。可以悄悄地執行配置操作,而不會影響任何請求。你可以晚一點查看歷史記錄以確認請求經過更嚴格檢查。雖然使用了正則表達式匹配規則和替換規則,Burp代理還可以用來自動修改 HTTP請求和響應消息。

除了用戶的主界面,在瀏覽上也可以控制 Burp代理用來查看請求歷史記錄和重發請求。Burp代理可以與上游代理結合起來使用。它可以處理上游代理和 web服務器的 basic,NTML和摘要式身份認證,同樣也可以用在大多數局域網環境中。它支持 SSL(可以自定義服務器或客戶端證書),可以查看 HTTPS傳輸,還可以把它修改成明文。另外,它還能自動處理許多種編碼的服務器響應,包括分塊傳輸編碼和壓縮內容編碼。


 

2.使用BurpSuite代理:

當 Burp代理運行后,HTTP/S代理服務器自動開啟 8080端口僅作為回環接口。要開始使用 Burp代理,需要簡單地把你的瀏覽器的代理服務器設為 127.0.0.1 :8080,開始瀏覽。默認情況下,Burp代理配置的是自動攔截對非媒體資源的請求。顯示出來后,可以查看和修改。其他的請求(圖片和樣式表)和所有服務器的響應自動地轉發。這些默認動作是可以修改的。


3.攔截選項卡(Intercept tab):

你可以使用快捷鍵 ctrl+F和 ctrl+D來代替”forwar”“drop”。

通過單擊其中一個可以使用的選項卡,能以幾種形式來顯示和分析每個請求和響應。隨着適當的消息類型的顯示,可用選項卡也會隨之顯示或消失:

raw:這里顯示的是純文本形式的消息。在文本窗口的底部提供了一個搜索和加亮功能,可以用它來快速地定位出消息中的感興趣的字符串,如錯誤消息。在搜索的左邊有一個彈出項,讓你來處理大小寫問題,以及是使用簡單的文本搜索還是正則表達搜索。

params:對包含參數(URL查詢字符串,cookies消息頭,或消息體)的請求,這個選項可以把參數分析成名稱/值的組合,並且允許你能簡單地查看和修改。

headers:這里以名稱/值的組合來顯示 HTTP的消息頭,並且還以原始的形式顯示消息體。

hex:這里允許你直接編輯消息的原始二進制數據。如果在文本編輯器里修改,某些傳輸類型(例如,使用 MIME編碼的瀏覽器請求的部分)包含的二進制數據可能被損壞。為了修改這些類型的消息,應使用十六進制。

HTML/XML:對於響應中的這種格式的內容,為消息體提供了一種 syntax-colourised視圖。

render:對於響應中的包含 HTML或者圖像的內容,以視覺形式顯示這些內容,最后會顯示在瀏覽器里。

AMF:對於 Action Message Format格式的響應或請求,這顯示了一個解碼消息的視圖樹。如果需要編輯,你可以雙擊樹上的節點來修改它們的值。

viewstate:對於包含一個 ASP.NET視圖狀態的請求和響應,會把視圖狀態的內容非序列化,這允許你查看任意敏感內容的數據。也可以表明視圖狀態 MAC是否可用(也就是視圖狀態是否可被修改)。

在任意的顯示的項上右擊打開上下文菜單可執行多種操作。也可以通過主界面上的”action”按鈕來打開同樣的菜單:

send to:你可以把任意的消息,或者選中的部分消息,發送到 Burp Suite中的其他工具里,來作進一步分析或攻擊。

find reference[Professional]版本中你可以在所有的 Burp工具里使用這個功能來搜索和選中項有關的HTTP響應。

discover content[Professional]版本中你可以使用這個功能來探索和用瀏覽器和網絡爬蟲發現的內容不同的內容和潛在的功能。

schedule task[Professional]版本中你可以使用這個功能來創建一些設定好運行次數和時長的自動執行的任務。

change request method對所有的請求,經過把所有相關的請求參數適當地搬遷到這個請求里來,你就可以自動地把請求的方法在 POST和 GET中間切換。通過發送惡意的請求使用這個選項來快速測試應用程序的極限參數是多少。

change body encoding對於所有的請求,你可以在應用程序/X-WWW格式的 URL編碼和多重表單/數據之間切換消息體的編碼方式。

copy URL這個功能是把當前的 URL完整地復制到粘貼板上。

copy to file這個功能允許你把選擇一個文件,並把消息的內容復制到這個文件里。這個對二進制數據來說是很方便的,要是通過粘貼板來復制會帶來一些問題。復制操作是在選擇的文本上進行的,如果沒有被選中的內容,則是針對整個消息了。

paste from file這個功能允許你選擇一個文件,並把文件里的內容粘貼到消息里。這個對二進制數據來說是很方便的,要是通過粘貼板來復制會帶來一些問題。粘貼操作會替換掉被選中的內容,如果沒有內容被選中,則在光標位置插入這些內容。

save item這個功能讓你指定一個文件,把選中的請求和響應以 XML的格式保存到這個文件,這里面包括所有的元數據如:響應的長度,HTTP的狀態碼以及 MIME類型。

don't intercept通過這些命令可以快速地添加攔截動作的規則來阻止攔截到的消息,這些消息和當前的消息有着相同的特征(如遠程主機,資源類型,響應編碼)。

do intercept僅對請求有效,這允許你可以對當請求和響應的進行強制攔截。

convert selection這些功能讓你能夠以多種方案對選擇的文本進行快速的編碼和解碼。

URL-encode as you type如果這個選項被打開,你輸入的像&和=這樣的符號會被等價的 URL編碼代替。

攔截選項卡里包含了一個可以用來快速切換攔截開關狀態的切換按鈕。如果顯示”intercept ison”,則消息會被自動攔截或者按照在選擇卡里配置的攔截規則進行轉發。如果顯示”interceptis off”,消息不會被攔截。


 

4.項目選項卡(Options tab)

這個選項里包含了多種控制 Burp代理行為的配置選項,就像下面描述的那樣。

Burp代理允許你定義多個監聽點。每個監聽點在你電腦上開啟一個端口並等待瀏覽器來連接。默認情況下,Burp代理在端口 8080上開啟一個監聽點,但是你可以修改這個監聽點,並且可以添加多個你需要的其他監聽點。對於每個監聽點,你都可以上面那樣來配置他們的一些屬性。

local listener port這是一個本地計算機上的一個端口,開啟它是用來監聽進入的連接。你應該把瀏覽器的代理服務器設置為主機 127.0.0.1和這個端口。

listen on loopback interface only這里控制着監聽點是只綁定在 loopback接口上還是整個網絡接口上。注意:如果這個選項沒被選中,其他的電腦就也可以連接這個監聽點了。這可能會讓他們通過你的 IP地址進行出站連接,以及訪問代理歷史記錄內容的敏感數據,如登陸認證。你只有處在可信任的網絡的時候才能取消這個選項。

support invisible proxying for non-proxy-aware clients如果你使用的是標准瀏覽器,你就不應該選上這個項。如果你的目標應用程序使用了一個在瀏覽器外的運行厚客戶端組件或者一個使它自己的 HTTP請求獨立於瀏覽器之外的框架,這時你會發現這個選項是有用的了。在這種情況下,通過重定向客戶端的請求降低網絡堆棧 (如給主機文件添加一個條目,或者改變路由器配置),這樣你會有效地強制客戶端連接 Burp。然而,這些客戶端處理的請求可能和web代理上通常是的類型不同。

代理上的請求類型是像這樣的:

GET http://myapp.com/foo.php HTTP/1.1

Host: myapp.com

然而無代理的請求是這樣的:

GET /foo.php HTTP/1.1

Host: myapp.com

通常情況下,web代理需要接收請求的第一行的完整 URL,這樣用於確定請求是發送到哪個域的主機(他們不會,如果他們遵守規范,就會把主機消息頭作為發送的目標域)。為了讓Burp代理兼容客戶端發送的無代理類型的請求,你需要選上”support invisible proxying”。當你這樣做了后,如果 Burp接收到無代理類型的請求,它會解析出主機的消息頭,並把這個作為請求的發送的目標域主機。

redirect to host/port通常你應該把這些選項留為空白。如果配置了他們,Burp代理就會把所有的請求轉發到這個指定的主機端口,忽視瀏覽器發出這個請求的目標。注意如果你使用這個選項,你可能也需要配置 match and replace規則為請求重新指定主機消息頭,如果你把請求重定向到的服務器期待一個和瀏覽器發出的不同的消息頭。

server SSL certificate這個選項讓你配置一個提交給瀏覽器的服務器 SSL證書。正確地使用這個選項能解決一些使用攔截代理產生的一些 SSL問題。通過查看服務器 SSL證書幫助的所有細節來了解怎樣來使用這個選項。

Note默認情況下,安裝時,Burp會創建一個特殊的自簽名式的 CA證書,把它保存在你的電腦上,當 Burp啟動時使用它。每當你連接一個 SSL保護的站點,Burp就會搜集這個主機

上的服務證書,並用 CA證書來簽署。為了充分地利用這個功能,你可以以信任的方式來安

裝 Burp的 CA證書,於是在接收每個主機的證書時,不會出現警告。

有時,你希望能在 Burp上使用一個自定義的 SSL證書。你可以在 OpenSSL中使用以下命令來創建一個自定義的證書(名字”foo.crt”),這個名字是自己選的:

openssl genrsa 1024 > foo.key

openssl req -new -x509 -nodes -sha1 -days 7300 -key foo.key > foo.crt

openssl pkcs12 -export -out foo.p12 -in foo.crt -inkey foo.key -name "your name"

這個面板里允許你使用細微攔截規則來配置這個管理請求和響應的攔截。復選框”interceptif”控制着是否一些清求和響應該被攔截。如果選擇了 1到 2個框,按照表格里的活動規則相關的信息就會被攔截。根據每條規則左邊的復選框,決定這些規則是有效還是停用。通過右邊的按鈕,可以對這些規則進行編輯,刪除,添加和加載。

幾乎能對任何消息屬性的規則進行配置,包括域名,IP地址,協議,HTTP方法,URL,資源類型,參數,cookies,消息體/消息體內容,響應編碼,內容類型和 HTML頁面標題。你配置的這個規則僅僅是用來攔截目標范圍的 URL項。可以使用正則表達式來為每個屬性設置復雜的匹配條件。通過使用布爾運算符 AND和 OR來融合規則。按從左到右的邏輯順序處理規則表達式,在范圍內的每個運算符就是這樣的:

(cumulative result of all prior rules) AND/OR (result of current rule)

所有生效的規則會做到每條消息上,在使用過最后一個生效的規則的結果在后台決定了這個消息是被攔截還是轉發。

當用戶修改請求和響應后,”update Content-Length”復選框控制着 Burp代理是否更新他們消息頭的長度。如果選中,Burp代理會自動重新計算被修改的 HTTP消息體的長度,並為HTTP消息頭設置正確的值。當 HTTP消息體被修改時,這個功能顯的非常必要。HTTP規范和大多數的 web服務器一樣,需要在消息頭內容長度上提交的 HTTP消息體長度的正確值。如果沒有指定正確的值,服務器或瀏覽器收到消息會產生錯誤,或者收到不完整的消息,或者會無限期地等待接收下面的數據。

通過自動地回寫到應用程序響應的 HTML,你可以使用這些選項來完成許多任務。

Unhiding hidden fields使你能夠直接編輯瀏覽器的值,而不是通過攔截后面的請求。和 enabling disabled fields,removing length limitations一樣。Disabling JavaScript and OBJECT tags在測試中提供一種快速的方式式客戶端邏輯失效(注意這個功能並不是設計用來進行 NoScript方式的安全防御的)。

match and replace這些選項配置 Burp代理執行基於正則表達式的匹配准則和 HTTP請求和響應的消息頭和消息體的替換。對於選中的每個規則,都會使用正則表達式來測試消息頭或體是否匹配,並用指定的字符串替換掉匹配的部分。

對於整個消息頭來說,如果整個消息頭都匹配,並且替換的字符串為空,則刪除這個消息頭。如果沒有匹配這些指定的表達式,則替換字符串會作為一個新消息頭添加進來。這個功能在自動進行某種應用程序攻擊時會非常有用,如操縱 cookies和 URL字符段查詢。

talk HTTP/1.0 to server這里控制着 Burp代理是否要使用 1.0版本的 HTTP來強行連接目標服

務器。默認設置是使用瀏覽器的 HTTP版本。對於使用 1.0和 1.1版本的大多數瀏覽器,Burp

代理都能成功地通過測試。然而對於一些傳統的服務器或應用程序使用 1.0版本才能正常,因此需要在這里來指定它。

unpack gzip / deflate一些瀏覽器會從服務器上接收到 gzip和 deflate的壓縮內容。為了能夠查看和修改這些內容,你需要對他們進行解壓縮。這個選項就是控制 Burp代理是否自動進行解壓縮。


 

5.歷史記錄選項(History tab)

這個選項是來顯示所有請求產生的細節,顯示的有目標服務器和端口,HTTP方法,URL,以及請求中是否包含參數或被人工修改,HTTP的響應狀態碼,響應字節大小,響應的 MIME類型,請求資源的文件類型,HTML頁面的標題,是否使用 SSL,遠程 IP地址,服務器設置的 cookies,請求的時間。當你把攔截關閉時,這個選項是非常有用的。它允許你在不適用攔截的情況下進行瀏覽時,仍能夠監視應用程序傳輸的關鍵細節。

你可以通過單擊歷史記錄表里的列標題對表格里的列里的內容進行排序 (或者用 shift+單擊進行倒置排序)。例如,你想讓歷史記錄表向上增長,即最近產生的項在表的頂端,則你可以使用 shift+點擊最左邊的列來顯示請求的序號。另外,如果你想按照內容類型列出請求,你就點擊”MIME type”這一列。

下面的這個歷史表格是一個預覽表格。如果你選擇了歷史記錄里的一個項,相關的請求和響應就會顯示在窗格的下部。如果這些請求或響應時通過手動或者你配置的規則修改的,修改后的項會顯示在原來項的旁邊。

在歷史記錄表里,右擊一個或多個選項,就會顯示一個上下文菜單讓你執行一些操作,包括修改目標范圍,把這些選項發送到其他 Burp工具,或者刪除這些項:

[Professional]版本中你可以通過上下文菜單使用許多定制工具,如搜索腳本與注釋,分析目標 web站點,調度任務等等。

你可以通過添加注釋或加亮,來注釋一個或多個選項:

你可以通過最左邊的列里的下拉菜單來加亮單個選項:

通過雙擊來就地注釋單個選項,並編輯單元格:

另外,如果你想一次注釋多個選項,可以選中相關的項,然后使用上下文菜單進行注釋或加亮:

當你把感興趣的項進行了注釋后,可以使用列排序和過濾顯示來快速地找到這些項。

除了使用預覽表格里的視圖請求,在彈出窗口里,可以通過對表格里的任意項進行雙擊來顯示請求和響應。

顯示在歷史記錄表里的內容實際上是一個進入底層數據庫的視圖,你可以通過配置過濾器來確定哪些頂層的數據項顯示在表格里。有效應用程序包含了大量的內容,如圖像,CSS等,這些有利於從視圖上隱藏的。AJAX應用程序產生大量相似的異步請求,你可能會想把他們從視圖上過濾出來來查看一些感興趣的項。在這個歷史記錄表的頂部有一個過濾欄。單擊會有一個彈出窗口,讓你來精准地配置顯示哪些內容在表格里:

你可以選擇只顯示那些有參數的請求,或者在當前目標范圍內的項,或者接收到的響應。你可以通過 MIME類型,HTTP狀態碼,文件擴展名進行過濾。如果你設置過濾隱藏了一些項,他們不會被刪除,只是隱藏了,通過解除相關的過濾就可以重新顯示出來了。

[Professional你版本中可以為過濾器指定一個搜索項,讓它顯示那些只包含請求或響應的項,或者顯示需要的用戶添加的注釋。

和過濾器一樣,你可以在歷史記錄表里通過選中一個或多個項,然后在上下文菜單里選擇“delete”來永久地刪除這些項。

在一些情況下,這對顯示更多進入底層歷史記錄數據的視圖很有用,並對每個視圖采用不同的過濾器。例如,在測試訪問控制時,你可以以不同用戶的身份登錄到應用程序,以及想單獨地查看在用戶上下文產生的請求序列。你可以通過代理記錄的上下文菜單上的”show newhistory window”選項來打開添加的代理記錄視圖。然后你可以為每個記錄窗口配置過濾器來顯示你想看到的請求。

為了使用這個功能進行測試訪問控制,你需要對測試的每個用戶上下文使用單獨的瀏覽器,為每個瀏覽器在 Burp上創建單獨的代理監聽點(你需要更新每個瀏覽器里的代理設置並把它指向相關的監聽點)。然后對於每個瀏覽器,在 Burp上你打開一個單獨的代理記錄窗口,並設置過濾器來顯示和代理監聽點的端口相關的請求。當你用每個瀏覽器訪問應用程序時,每個記錄窗口里只顯示和用戶上下文相關的項:


6.瀏覽器控制(In-browser controls)

除了使用主界面,你還可以直接使用瀏覽器來控制 Burp代理。

在瀏覽器里輸入 Http://burp就可以訪問所有的代理記錄。這個記錄會以一個表格的形式顯示出來。內容有:目標服務器和端口號,HTTP方法,URL,文件擴展名,請求是否被修改過:

單擊”URL”列的條目顯示出本地的請求,單擊 “modified?”列的條目顯示出相關修改過的請求。

當完全地顯示出一個單獨的請求時,可以通過” repeat request”按鈕重發這個請求。依據當前配置的攔截規則,可以通過 Burp代理的修改來顯示這個請求。當瀏覽器接收到服務器對重發請求作出的響應時,前進瀏覽一下,就可以像平常一樣繼續了。

如果可用,你可以在瀏覽器里單擊” view response”按鈕來查看本地響應。這會讓 Burp代理退回到從服務器里接收到的那個響應,Burpd代理既不會顯示請求也不會顯示響應來修改。

注意當瀏覽器從 Burp代理接收到保存過的響應時,這會導致瀏覽器加載添加的請求。Burp代理會以平常的方式處理這些請求,將不會返回以前保存的數據。


四、BurpSuite爬取模塊介紹:

1.Burp網絡爬蟲是什么:

Burp Spider是一個映射 web應用程序的工具。它使用多種智能技術對一個應用程序的內容和功能進行全面的清查。

Burp Spider通過跟蹤 HTML和 JavaScript以及提交的表單中的超鏈接來映射目標應用程序,它還使用了一些其他的線索,如目錄列表,資源類型的注釋,以及 robots.txt文件。結果會在站點地圖中以樹和表的形式顯示出來,提供了一個清楚並非常詳細的目標應用程序視圖。

Burp Spider能使你清楚地了解到一個 web應用程序是怎樣工作的,讓你避免進行大量的手動任務而浪費時間,在跟蹤鏈接,提交表單,精簡 HTNL源代碼。可以快速地確人應用程序的潛在的脆弱功能,還允許你指定特定的漏洞,如 SQL注入,路徑遍歷。


2.使用 Burp Spider:

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

1.使用 Burp Proxy配置為你瀏覽器的代理服務器,瀏覽目標應用程序(為了節省時間,你可以關閉代理攔截)。

2.到站點地圖的”target”選項上,選中目標應用程序駐留的主機和目錄。選擇上下文菜單的 “spider this host/branch”選項。

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

在分支上,請求那些已被發現的還沒被請求過的 URL。

在分支上,提交那些已被發現但提交 URL錯誤的表單。

重復請求分支上的先前收到的狀態碼為 304的項,為檢索到一個應用程序的新(未進入緩存)副本。

對所有的檢索到內容進行解析以確認新的 URL和表單。

只有發現新內容就遞歸地重復這些步驟。

繼續在所有的范圍區域內 spidering,直到沒有新內容為止。

注意 Spider會跟蹤任何在當前定義的 spidering范圍內的 URL鏈接。如果你定義了一個比較寬的目標范圍,並且你只選擇了其中的一個分支來 spidering,這時 Spider會跟蹤所有進入到這個比較寬的范圍內的鏈接,於是也就不在原來的分支上 spider。為了確保 Spider只在指定分支內的請求上,你應該在開始時,就把 spidering范圍配置為只在這個分支上。你應該小心地使用 Burp Spider。在它的默認設置上,Spider會在 spidering范圍內使用默認輸入值,自動地提交任意表格,並且會請求許多平常用戶在只使用一個瀏覽器不會發出的請求。如果在你定義范圍的 URL是用來執行敏感操作的,這些操作都會被帶到應用程序上。在你完全地開始自動探索內容之前,使用瀏覽器對應用程序進行一些手動的映射,是非常可取的。


3.控制選項:

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

Spider running這個是用來開始和停止 Spider。Spider停止后,它自己不會產生請求,但它會繼續處理通過 Burp Proxy的響應,並且在 spidering范圍內的新發現的項都會送入請求隊列里,當 Spider重新啟動時,再來請求。

這里顯示的一些 Spider進度的指標,讓你能看到剩余的內容和工作量的大小。

Clear queues如果你想改變你工作的優先權,你可以完全地清除當前隊列的項目,來讓其他的項目加入隊列。注意如果被清除的項目如果還在范圍內並且 Spider的分析器發現有新的鏈接到這個項目,那么它們還會加入隊列

Spider scope在這個面板里,你能精確地定義 Spider的請求范圍。如果你已經根據當前目標細節配置好了 Suit-wide的目標范圍,你可以丟棄 Spider默認設置的活動范圍。如果你需要使用一個定義的不同的 Spider范圍,則選擇” use custom scope”。一個進一步設置面板會出現,和 Suite-wide范圍面板的功能相似。如果你使用自定義范圍並向 Spider發送不在范圍內的項,則 Burp會自動更新這個自定義的范圍而不是 Suite范圍。


4.項目選項卡

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

check robots.txt如果這個被選中,Burp Spider會在所有范圍內的域名上請求和處理 robots.txt文件。通過 robots排除協議來控制互聯網上的 spider-like代理的行為。注意 Burp Spider不會確認 robots排除協議。Burp Spider會列舉出目標應用程序的所有內容,請求所有在范圍內的 robots.txt條目。

Use cookies如果這個被選中,Burp Spider會處理服務器響應中的Set-Cookie指令,會在后面的請求中向同一域名提交任意接收到的 cookie。當 spidering一個 web應用程序時,並且這個應用程序保持着服務器端的狀態時,這個選項就顯得非常有必要了。

detect custom "not found" responses如果沒有找到請求的資源,HTTP協議要求 web服務器返回一個 404的狀態碼。然而許多 web應用程序會返回自定義的”not found”頁面,用來代替不同的狀態碼。使用這個選項就能阻止在映射站點內容時產生的這種誤報。Burp Spider通過請求每個域名里的一些不存在的資源就能探測到這種自定義的”not found”響應。通過編譯出的這個指紋來識別其他請求的”not found”響應。

ignore links to non-text content常常需要推斷出在 HTML上下文里鏈接到特殊資源的 MIME類型。例如,帶有 IMG標記的 URL會返回圖像;那些帶有 SCRIPT標記的會返回JavaScript。如果這個選項被選中,Spider不會請求在這個上下文出現的出現的非文本資源。使用這個選項,會減少 spidering時間,降低忽略掉感興趣內容的風險。

request the root of all directories如果這個選項被選中,Burp Spider會請求所有已確認的目標范圍內的 web目錄,除了那些目錄里的文件。如果在這個目標站點上目錄索引是可用的,這選項將是非常的有用。

make a non-parameterised request to each dynamic page如果這個選項被選中,Burp Spider會對在范圍內的所有執行動作的 URL進行無參數的 GET請求。如果期待的參數沒有被接收,動態頁面會有不同的響應,這個選項就能成功地探測出添加的站點內容和功能。

maximum link depth這是 Burp Suite在種子 URL里的巡覽”hops”的最大數。0表示讓 Burp Suite只請求種子 URL。如果指定的數值非常大,將會對范圍內的鏈接進行無限期的有效跟蹤。

這些選項控制着 Burp Proxy與 Burp Spider之間的接口,它允許”被動”的 spidering web應用程序,控制瀏覽器。

passively spider as you browse如果這個選項被選中,Burp Suite會被動地處理所有通過 BurpProxy的 HTTP請求,來確認訪問頁面上的鏈接和表格。使用這個選項能讓 Burp Spider建立一個包含應用程序內容的詳細畫面,甚至此時你僅僅使用瀏覽器瀏覽了內容的一個子集,因為所有被訪問內容鏈接到內容都會自動地添加到 Suite的站點地圖上。

link depth to associate with proxy requests這個選項控制着與通過 Burp Proxy訪問的 web頁面有關的” link depth”。為了防止 Burp Spider跟蹤這個頁面里的所有鏈接,要設置一個比上面選項卡里的” maximum link depth”值還高的一個值。

注意:在早期的 Burp Spider版本里,這里包含的選項是控制在 Proxy里的請求和響應的cookies上,怎樣更新 spider cookie jar。現在這些配置已被刪除了,你可以使用 suite-wide里的會話處理來代替。

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

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

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

automatically submit如果選中這個,Burp Spider通過使用定義的規則來填寫輸入域的文本值來自動地提交范圍內的表單。每一條規則讓你指定一個簡單的文本或者正則表達式來匹配表單字段名,並提交那些表單名匹配的字段值。可以為任意不匹配的字段指定默認值。

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

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

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

1.如果你沒有證書,或者關注 spidering的敏感保護功能,Burp可以忽略登陸表單。

2.Burp能交互地為你提示引導,使你能夠指定證書。這時默認設置項。

3.Burp通過你配置的信息和自動填充規則,用處理其他表單的方式來處理登陸表單。

4.在遇到的每個登陸表單時,Burp能自動地提交特定的證書。

在最后一種情況下,任何時間 Burp遇到一個包含密碼域的表單,會提交你配置的密碼到密碼域,提交你配置用戶名到最像用戶名的字段域。如果你有應用程序的證書,想讓 Spider為你處理登錄,通常情況下這是最好的選項。

這些選項讓你來對 Spider引擎進行微調,這取決於應用程序的性能的影響和你的處理能力和帶寬。如果你發現 Spider運行緩慢,但應用程序運行良好,CPU的利用率也很低時,你可以增加掃描線程數,來使掃描過程更快。如果你發現有連接錯誤產生,應用程序開始變慢,或者電腦特別卡,這時你應該降低線程數,或者增加下面的那兩個參數。

Request headers這里允許你自定義 HTTP消息頭,通過配置把它應用到所有的請求中。這對滿足個別應用程序的特別需求很有用。例如,當測試一個為移動設備設計的應用程序時,來模擬一個被期望的用戶。

use Referer header如果這個選項被選中,當 Burp Spider請求的項是從其他頁面的鏈接過來時,就會提交相關的 Referher heards。


5.Spider的結果

所有的在 spidering過程里發現的內容都會被添加到目標站點地圖里,其他組件工具也共享這個地圖信息。這個地圖顯示了通過 Spider和 Proxy發現的內容的視圖樹和表格。它讓你可以過濾掉視圖樹里任何不感興趣的項,並且執行一些其他的操作,如開始掃描漏洞,進一步 spidering,把一些請求發送到其他 Burp工具上執行自定義攻擊。請查詢站點地圖幫助來得到進一步的信息。

 若希望更多的了解BurpSuite的介紹,請訪問第三篇(滲透測試之BurpSuite工具的使用介紹(三)):https://www.cnblogs.com/zhaoyunxiang/p/16000725.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM