3.1 Burp Suite如何用于滲透測試
要將Burp用于滲透測試,您可以:
- 使用Burp的嵌入式瀏覽器,不需要任何其他配置。轉到“代理”>“攔截”選項卡,然后單擊“打開瀏覽器”。將打開一個新的瀏覽器會話,其中所有流量都將通過Burp自動代理。您甚至可以使用它來通過HTTPS進行測試,而無需安裝Burp的CA證書。
- 使用您選擇的外部瀏覽器。由于各種原因,您可能不想使用Burp的嵌入式瀏覽器。在這種情況下,您需要執行一些其他步驟來配置瀏覽器以與Burp一起使用,并在瀏覽器中安裝Burp的CA證書。
運行Burp并打開嵌入式瀏覽器或配置自己的外部瀏覽器后,轉到“代理攔截”選項卡,并確保攔截已打開(如果按鈕顯示“攔截已關閉”,則單擊它以切換攔截狀態)。然后轉到瀏覽器并訪問任何URL。
瀏覽器發出的每個HTTP請求都顯示在“攔截”選項卡中。您可以查看每條消息,并根據需要進行編輯。然后,單擊“轉發”按鈕將請求發送到目標Web服務器。如果任何時候有待處理的攔截消息,您都需要轉發所有這些消息,以便瀏覽器完成加載正在等待的頁面。如果需要,您可以切換“ Intercept is on / off”按鈕以正常瀏覽而不會受到任何干擾。
當您通過Burp瀏覽應用程序時,代理歷史記錄會記錄所有請求和響應。在代理中,轉到“歷史記錄”選項卡,并查看您提出的一系列請求。在表中選擇一個項目,然后在“請求和響應”選項卡中查看完整的消息。
此外,在瀏覽時,默認情況下Burp會構建目標應用程序的站點地圖。轉到“目標”選項卡和“站點地圖”子選項卡以進行查看。該站點地圖包含您在瀏覽器中訪問過的所有URL,以及Burp從對您的請求的響應中推斷出的所有內容(例如,通過分析HTML響應中的鏈接)。被請求的項目以黑色顯示,其他項目以灰色顯示。您可以在樹中展開分支,選擇單個項目,并查看完整的請求和響應(如果有)。通過配置適當的實時掃描任務,您可以控制在瀏覽時將哪些內容添加到站點地圖。
Burp滲透測試工作流的核心是能夠在Burp工具之間傳遞HTTP請求以執行特定任務的能力。您可以從“代理攔截”選項卡,“代理歷史記錄”,站點地圖,甚至在Burp中您看到HTTP消息的其他任何地方發送消息。為此,選擇一個或多個消息,然后使用上下文菜單將請求發送到另一工具。
您將用于特定任務的Burp工具如下:
- 掃描程序 -用于自動掃描網站的內容和安全漏洞。
- 入侵者 -這使您可以執行自定義的自動攻擊,以執行各種測試任務。
- 中繼器 -用于不斷地手動修改和重新發出單個HTTP請求。
- Collaborator客戶端 -用于生成Burp Collaborator負載并監視結果帶外交互。
- Clickbandit-用于產生針對易受攻擊的應用程序的點擊劫持漏洞。
- 定序器 -用于分析應用程序會話令牌中的隨機性質量。
- 解碼器 -這使您可以使用常見的編碼和解碼方案來轉換應用程序數據的位。
- 比較器 -用于對應用程序數據的位進行視覺比較,以發現有趣的差異。
您可以通過多種方式組合Burp的各種工具,以執行從非常簡單到高度高級和專業化的測試任務。
測試工作流程
Burp使您可以有效地結合手動和自動化技術,使您可以完全控制Burp執行的所有操作,并提供有關正在測試的應用程序的詳細信息和分析。
一些用戶可能不希望以這種方式使用Burp,而只希望對其應用程序執行快速便捷的漏洞掃描。
下圖是Burp滲透測試工作流程關鍵部分的高級概述:

偵察與分析
該代理工具在Burp的工作流程的心臟。它使您可以使用瀏覽器瀏覽應用程序,而Burp則可以捕獲所有相關信息并輕松啟動進一步的操作。在典型的測試中,偵察和分析階段涉及以下任務。
手動映射應用程序
使用瀏覽器通過Burp Proxy進行操作,通過跟蹤鏈接,提交表單并逐步執行多步過程來手動映射應用程序。此過程將使用所有請求的內容填充“代理歷史記錄”和“目標” 站點地圖,并且(通過實時掃描)會將可以從應用程序響應(通過鏈接,表單等)推斷出的任何其他內容添加到站點地圖中。然后,您應該查看所有未請求的項目(站點地圖中以灰色顯示),然后使用瀏覽器進行請求。
必要時執行自動映射
您可以選擇使用Burp以各種方式自動執行映射過程。您可以:
- 進行自動掃描以爬網應用程序的內容。
- 使用內容發現功能可以查找未與您可以瀏覽或查看的可見內容鏈接的其他內容。
- 使用Burp Intruder 執行自定義發現,以循環瀏覽公用文件和目錄的列表,并確定命中。
請注意,在執行任何自動操作之前,可能有必要更新Burp 配置的各個方面,例如目標范圍和會話處理。
分析應用程序的攻擊面
映射應用程序的過程將使用Burp捕獲的有關應用程序的所有信息來填充Proxy 歷史記錄和目標站點地圖。這兩個存儲庫均包含功能,可幫助您分析它們包含的信息,并評估應用程序暴露的攻擊面。此外,您可以使用Burp的Target Analyzer報告攻擊面的范圍以及應用程序使用的不同URL類型。
工具配置
Burp包含大量配置選項,通常需要在測試的不同階段使用它們,以確保Burp可以按所需方式與目標應用程序一起使用。例如:
- 顯示 -您可以配置用于顯示HTTP消息的字體和字符集,以及Burp自己的UI中的字體。
- 目標范圍 - 目標范圍配置告訴Burp您當前感興趣并愿意攻擊的項目。您應該在測試的早期進行配置,因為它可以控制哪些項目顯示在“代理歷史記錄”和“目標站點地圖”中,哪些消息在“代理”中被攔截,以及哪些項目可以被掃描。
- 平臺身份驗證 -如果應用程序服務器使用任何平臺級別(HTTP)身份驗證,則可以將Burp配置為自動處理身份驗證。
- 會話處理 -許多應用程序包含可能會阻礙自動或手動測試的功能,例如反應性會話終止,按請求令牌的使用以及有狀態的多階段流程。您可以使用會話處理規則和宏的組合,將Burp配置為無縫處理大多數情況。
- 任務計劃 -您可以配置Burp 在給定的時間或間隔安排任務,以允許您在指定的測試窗口內工作。
漏洞檢測與利用
在完成對目標應用程序的偵查和分析以及Burp的所有必要配置之后,您可以開始對應用程序進行常見漏洞的探測。在此階段,一次使用多個Burp工具通常是最有效的,在不同的工具之間傳遞單獨的請求以執行不同的任務,并返回到瀏覽器進行一些測試。在整個Burp中,您可以使用上下文菜單在工具之間傳遞項目并執行其他操作。
在Burp的默認配置中,它會自動對通過代理的所有請求和響應執行實時被動掃描。因此,在您開始積極探索該應用程序之前,您可能會發現Burp Scanner已經記錄了一些值得進一步調查的問題。
Burp的工具可以以多種不同方式使用,以支持主動測試漏洞的過程。下面針對不同類型的問題介紹了一些示例。
基于輸入的錯誤
對于SQL注入,跨站點腳本和文件路徑遍歷等問題,您可以通過多種方式使用Burp:
- 您可以使用Burp Scanner 執行掃描。您可以在Burp中的任何位置選擇項目,然后使用上下文菜單啟動掃描。或者,您可以將Burp配置為對通過代理傳遞的所有范圍內請求進行實時掃描。
- 您可以使用Burp Intruder 使用自己的測試字符串和有效負載位置執行模糊測試。
- 您可以將單個請求發送給Burp Repeater,一遍又一遍地手動修改和重新發出請求。
- 確定了某些類型的錯誤后,您可以使用Burp Intruder積極地利用這些錯誤。例如,您經常可以使用遞歸grep有效負載類型來利用SQL注入漏洞。
邏輯和設計缺陷
對于諸如不安全使用客戶端控件,無法強制執行帳戶鎖定以及無法在多階段流程中跳過關鍵步驟等問題,通常需要手動進行:
- 通常,仔細查看代理歷史記錄將確定需要調查的相關請求。
- 然后,您可以通過使用Burp Repeater單獨發出意外請求,或者打開代理偵聽并在使用瀏覽器的同時手動更改請求來探查應用程序對意外請求的處理。
- 您可以使用Burp Intruder積極利用許多邏輯和設計缺陷。例如,入侵者可以用來枚舉有效的用戶名,猜測密碼,在可預測的會話令牌或密碼恢復令牌中循環,甚至可以簡單地多次(使用空有效負載類型)重新發出相同的請求。
- 已經確認了邏輯或設計缺陷,可以使用Burp Proxy的match / replace函數或會話處理規則)來系統地更改請求,從而積極利用其中的許多缺陷。
訪問控制問題
Burp包含一些功能,這些功能可以在測試訪問控制漏洞時提供幫助:
- 您可以將“ 比較站點地圖”功能用于各種任務,包括:識別對一個用戶可見而對另一用戶不可見的功能;測試低特權用戶是否可以訪問應僅限于高特權用戶使用的功能;以及發現在哪里使用用戶特定的標識符來隔離兩個相同類型的用戶對數據的訪問。
- 您可以使用不同的瀏覽器在不同的用戶上下文中訪問應用程序,并為每個瀏覽器使用單獨的Burp代理偵聽器(使用不同的端口)。然后,您可以打開其他“ 代理歷史記錄”窗口(通過上下文菜單),并在每個窗口上設置顯示過濾器,以僅顯示在特定偵聽器端口上收到的項目。在每個瀏覽器中使用該應用程序時,每個歷史記錄窗口將僅顯示關聯用戶上下文的項目。然后,您可以使用“當前瀏覽器會話中瀏覽器中的請求”功能(通過上下文菜單)在瀏覽器之間切換請求,以確定在該瀏覽器的用戶上下文中如何處理請求。
- 當應用程序在請求參數中傳遞用戶標識符,并使用該標識符標識當前用戶上下文時,會出現許多特權提升漏洞。您可以通過使用Burp Intruder循環瀏覽適當格式的標識符(例如,使用數字或自定義迭代器有效負載類型),并配置提取grep項以從應用程序的響應中檢索有趣的用戶特定數據,來積極利用此類漏洞。
其他漏洞
Burp包含一些功能,這些功能實際上可以用來傳遞并自動執行探查其他類型漏洞時出現的任何任務。例如:
- 您可以使用“ 搜索和查找注釋”功能來幫助您查看目標站點地圖的內容,以了解信息泄漏問題。
- 確定了可能的CSRF漏洞之后,您可以使用CSRF生成器快速創建HTML中的概念驗證攻擊,然后使用“在瀏覽器中測試”功能將攻擊加載到瀏覽器中,然后查看瀏覽器結果,并代理歷史記錄,以驗證攻擊是否成功。
- 您可以使用Burp Sequencer分析來自應用程序的會話令牌樣本,并估算其隨機性的質量。
- 對于某些類型的加密會話令牌或其他參數,您可以使用Burp Intruder中的位翻轉器和ECB塊混洗器有效負載類型盲目修改加密數據,以嘗試有意義地更改應用程序處理的解密數據。
- 您可以編寫自己的自定義Burp擴展,以執行更多專業化或自定義任務。
Burp Suite中文使用教程(桌面版)
推薦文章: