BurpSuite系列(一)----Proxy模組(代理模組)
一、簡介
Proxy代理模組作為BurpSuite的核心功能,攔截HTTP/S的代理伺服器,作為一個在瀏覽器和目標應用程式之間的中間人,允許你攔截,檢視,修改在兩個方向上的原始資料流。
Burp 代理允許你通過監視和操縱應用程式傳輸的關鍵引數和其他資料來查詢和探索應用程式的漏洞。通過以惡意的方式修改瀏覽器的請求,Burp 代理可以用來進行攻擊,如:SQL 注入,cookie 欺騙,提升許可權,會話劫持,目錄遍歷,緩衝區溢位。攔截的傳輸可以被修改成原始文字,也可以是包含引數或者訊息頭的表格,也可以十六進位制形式,甚至可以操縱二進位制形式的資料。在 Burp 代理可以呈現出包含 HTML 或者影象資料的響應訊息。
二、模組說明
1.Intercept
用於顯示和修改HTTP請求和響應,通過你的瀏覽器和Web伺服器之間。在BurpProxy的選項中,您可以配置攔截規則來確定請求是什麼和響應被攔截(例如,範圍內的專案,與特定副檔名,專案要求與引數,等)。該面板還包含以下控制:
訊息型別顯示的四種格式
raw:這裡顯示的是純文字形式的訊息。在文字視窗的底部提供了一個搜尋和加亮功能,可以用它來快速地定位出訊息中的感興趣的字串,如錯誤訊息。在搜尋的左邊有一個彈出項,讓你來處理大小寫問題,以及是使用簡單的文字搜尋還是正則表達搜尋。
params:對包含引數(URL 查詢字串,cookies 訊息頭,或訊息體)的請求,這個
headers:這裡以名稱/值的組合來顯示 HTTP 的訊息頭,並且還以原始的形式顯示訊息體。
hex:這裡允許你直接編輯訊息的原始二進位制資料。如果在文字編輯器裡修改,某些傳輸型別(例如,使用 MIME 編碼的瀏覽器請求的部分)包含的二進位制資料可能被損壞。為了修改這些型別的訊息,應使用十六進位制。
1.Forward
當你編輯資訊之後,傳送資訊到伺服器或瀏覽器
2.Drop
當你不想要傳送這次資訊可以點選drop放棄這個攔截資訊
3.Interceptionis on/off
這個按鈕用來切換和關閉所有攔截。如果按鈕顯示Interceptionis On,表示請求和響應將被攔截或自動轉發根據配置的攔截規則配置代理選項。如果按鈕顯示Interception is off則顯示攔截之後的所有資訊將自動轉發。
4.Action
說明一個選單可用的動作行為操作可以有哪些操作功能。
Send to Spider 傳送給蜘蛛
Do an active scan 執行主動掃描
Send to Intruder 傳送到入侵者
Send to Repeater 傳送到中繼器
Send to Sequencer 傳送到序列發生器
Send to Comparer 傳送到比較器
Send to Decoder 傳送到解碼器
Request in browser 在瀏覽器的請求
Engagement tools 參與工具
Change request method 對所有的請求,經過把所有相關的請求引數適當地搬遷到這個請求裡來,你就可以自動地把請求的方法在 POST 和 GET 中間切換。通過傳送惡意的請求使用這個選項來快速測試應用程式的極限引數是多少。
Change body encoding 對於所有的請求,你可以在應用程式/X-WWW 格式的 URL 編碼和多重表單/資料之間切換訊息體的編碼方式。
Copy URL 把當前的 URL 完整地複製到貼上板上。
Cope as curl command 作為curl命令
Cope to file
這個功能允許你把選擇一個檔案,並把訊息的內容複製到這個檔案裡。這個對二進位制資料來說是很方便的,要是通過貼上板來複制會帶來一些問題。複製操作是在選擇的文字上進行的,如果沒有被選中的內容,則是針對整個訊息了。
Pase form file 這個功能允許你選擇一個檔案,並把檔案裡的內容貼上到訊息裡。這個對二進位制資料來說是很方便的,要是通過貼上板來複制會帶來一些問題。貼上操作會替換掉被選中的內容,如果沒有內容被選中,則在游標位置插入這些內容。
Save item 這個功能讓你指定一個檔案,把選中的請求和響應以XML的格式儲存到這個檔案,這裡麵包括所有的元資料如:響應的長度,HTTP 的狀態碼以及 MIME 型別。
Don't intercept requests 通過這些命令可以快速地新增攔截動作的規則來阻止攔截到的訊息,這些訊息和當前的訊息有著相同的特徵(如遠端主機,資源型別,響應編碼)。
Do intercept 僅對請求有效,這允許你可以對當請求和響應的進行強制攔截。
Convert seiection 這些功能讓你能夠以多種方案對選擇的文字進行快速的編碼和解碼。
URL-encode as you type 如果這個選項被開啟,你輸入的像&和=這樣的符號會被等價的 URL編碼代替。
Cut 剪下
Copy 複製
Paste 貼上
Message edit help 訊息編輯幫助
Proxy interception help 代理攔截幫助
2.HTTP History
這個選項是來顯示所有請求產生的細節,顯示的有目標伺服器和埠,HTTP 方法,URL,以及請求中是否包含引數或被人工修改,HTTP 的響應狀態碼,響應位元組大小,響應的 MIME型別,請求資源的檔案型別,HTML 頁面的標題,是否使用 SSL,遠端 IP 地址,伺服器設定的 cookies,請求的時間。
雙擊某個請求即可開啟詳情,通過Previous/next可以快速切換請求,並且Action也可以將請求傳送至其他模組。
可以通過最左邊的列裡的下拉選單來加亮單個選項:
在歷史記錄表裡,右擊一個或多個選項,就會顯示一個上下文選單讓你執行一些操作,包括修改目標範圍,把這些選項傳送到其他 Burp 工具,或者刪除這些項:
Add to scope 新增範圍
Spide from here 蜘蛛從當前地址開始
Do an active scan 執行主動掃描
Do a passive scan 做被動掃描
Send to Intruder 傳送到入侵者
Send to Repeater 傳送到中繼器
Send to Sequencer 傳送到序列生成器
Send to Comparer(request) 傳送到比較器(請求)
Send to Comparer(response) 傳送到比較器(響應)
Show response in browser 在瀏覽器中顯示響應
Request in browser 瀏覽請求
Engagement tools 接合工具
Show new History windows 顯示新的歷史視窗
Add comment 新增評論
Highlight 高亮部分
Delete item 刪除專案
Clear history 清除歷史記錄
Copy URL 複製網址
Copy as curl command 複製為curl命令
Copy links 複製連結
Save item 儲存專案
Proxy history help 代理歷史幫助
還可以通過配置過濾器來確定哪些頂層的資料項顯示在表格裡。有效應用程式包含了大量的內容,如影象,CSS 等,這些有利於從檢視上隱藏的。AJAX 應用程式產生大量相似的非同步請求,你可能會想把他們從檢視上過濾出來來檢視一些感興趣的項。在這個歷史記錄表的頂部有一個過濾欄。單擊會有一個彈出視窗,讓你來精準地配置顯示哪些內容在表格裡:
3.WebSockets history
這個選項主要用於記錄WebSockets的資料包,是HTML5中最強大的通訊功能,定義了一個全雙工的通訊通道,只需Web上的一個 Socket即可進行通訊,能減少不必要的網路流量並降低網路延遲。
4.Options
該選項主要用於設定代理監聽、請求和響應,攔截反應,匹配和替換,ssl等,其中有八大選項:Proxy Listeners、Intercept Client Requests、Intercept Server Responses、Intercept WebSockets Messages、Response Modification、Match and replace、SSL Pass Through、Miscellaneous
選項1:Proxy Listeners
代理偵聽器是偵聽從您的瀏覽器傳入的連線本地HTTP代理伺服器。它允許您監視和攔截所有的請求和響應,並且位於BurpProxy的工作流的心臟。預設情況下,Burp預設監聽12.0.0.1地址,埠8080。要使用這個監聽器,你需要配置你的瀏覽器使用127.0.0.1:8080作為代理伺服器。此預設監聽器是必需的測試幾乎所有的基於瀏覽器的所有Web應用程式。
1.add:新增一個新的代理地址。
1.binding:新建一個代理,bind to port-繫結埠號 ,bind to address -繫結ip地址
2.request hadning:這些設定包括選項來控制是否BurpSuite重定向通過此偵聽器接收到的請求:
2.1.Redirect to host - 如果配置了這個選項,Burp會在每次請求轉發到指定的主機,而不必受限於覽器所請求的目標。需要注意的是,如果你正使用該選項,則可能需要配置匹配/替換規則重寫的主機中的請求,如果伺服器中,您重定向請求預期,不同於由瀏覽器傳送一個主機頭。
2.2.Redirect to port - 如果配置了這個選項,Burp會在每次請求轉發到指定的埠,而不必受限於瀏覽
2.3.Force use of SSL - 如果配置了這個選項,Burp會使用HTTPS在所有向外的連線,即使傳入的請求中使用普通的HTTP。您可以使用此選項,在與SSL相關的響應修改選項結合,開展sslstrip般的攻擊使用Burp,其中,強制執行HTTPS的應用程式可以降級為普通的HTTP的受害使用者的流量在不知不覺中通過BurpProxy代理。
3.Certificate:這些設定控制呈現給客戶端的SSL伺服器的SSL證書。
3.1.Generate CA-signed per-host certificate-這是預設選項。安裝後,BurpSuite創造了一個獨特的自簽名的證書頒發機構(CA)證書,並將此計算機上使用,每次BurpSuite執行。當你的瀏覽器發出SSL連線到指定的主機,Burp產生該主機,通過CA證書籤名的SSL證書。您可以安裝BurpSuite的CA證書作為在瀏覽器中受信任的根,從而使每個主機的證書被接受,沒有任何警報。您還可以匯出其他工具或Burp的其他例項使用CA證書。
3.2.Generate a CA-signed certificate with a specific hostname---||這類似於前面的選項;然而,Burp會產生一個單一的主機證書與每一個SSL連線使用,使用您指定的主機名。在進行無形的代理時,此選項有時是必要的,因為客戶端沒有傳送連線請求,因此Burp不能確定SSL協議所需的主機名。你也可以安裝BurpSuite的CA證書作為受信任的根。
3.3.Use a custom certificate---||-此選項使您可以載入一個特定的證書(在PKCS#12格式)呈現給你的瀏覽器。如果應用程式使用它需要特定的伺服器證書(例如一個給定序列號或證書鏈)的客戶端應該使用這個選項。
2.edit:編輯選中的代理地址。
3.remove:刪除選中代理地址。
選項2:Intercept Client Requests
配置攔截規則,設定攔截的匹配規則。 當Intercept request based on the following rules為選中狀態時,burpsuite會配置列表中的規則進行攔截或轉發。
注意:如果該複選框未選中,那麼即使Intercept is on也無法擷取資料包。
規則可以通過Enabled列中的複選框選擇開啟或關閉。
規則可以是域名, IP地址,協議, HTTP方法, URL,副檔名,引數,cookie ,頭/主體內容,狀態程式碼,MIME型別, HTML頁面標題等。
規則按順序處理,並且使用布林運算子AND和OR組合。
選項3:Intercept Server Responses
配置攔截規則,設定攔截的匹配規則,不過這個選項是基於服務端攔截,當選小的Intercept request based on the following rules為選中狀態時,burpsuite會匹配響應包。
選項4:Intercept WebSockets Messages
選項5:Response Modification
選項6:Match and replace
用於自動替換請求和響應通過代理的部分。對於每一個HTTP訊息,已啟用的匹配和替換規則依次執行,選擇適用的規則進行匹配執行。
規則可以分別被定義為請求和響應,對於訊息頭和身體,並且還特別為只請求的第一行。每個規則可以指定一個文字字串或正則表示式來匹配,和一個字串來替換它。對於郵件頭,如果匹配條件,整個頭和替換字串匹配留空,然後頭被刪除。如果指定一個空的匹配表示式,然後替換字串將被新增為一個新的頭。有可協助常見任務的各種預設規則 - 這些都是預設為禁用。 匹配多行區域。您可以使用標準的正則表示式語法來匹配郵件正文的多行區域。
選項7:SSL Pass Through
選項8:Miscellaneous