Web 應用程式檢測框架 – Burp Suite

Burp Suite (簡稱 Burp) 是一款 Web 安全領域的「跨平台」檢測(滲透)框架,本身是JAVA開發的,所以要裝JAVA才能跑啦! 它被廣泛地認為是執行Web應用程式測試時使用的工具之一。

打bur的形象

Download:https://portswigger.net/burp/communitydownload

Burp Suite 模組

  • Proxy-使我們能夠通過Burp Suite傳遞流量以進行進一步分析
  • Target-我們如何設置項目範圍。我們還可以使用它來有效地創建我們正在測試的應用程序的站點地圖。
  • Intruder-強大的工具,可用於從現場模糊測試到憑證填充等所有工作
  • Repeater-允許我們“重複”先前修改或未修改的請求。通常在前驅步驟中用於與上述入侵者進行模糊測試
  • Sequencer –分析Web應用程序中某些不可預測的部分中的“隨機性”。這通常用於測試會話Cookie
  • Decoder-顧名思義,解碼器是一種工具,可讓我們對數據進行各種轉換。這些轉換從解碼/編碼到各種基礎或URL編碼不等。
  • Compare-您可能已經猜到的比較器是一種工具,我們可以使用它比較不同的響應或其他數據,例如站點地圖或代理歷史記錄(對於訪問控制問題測試而言是很棒的)。這與Linux工具diff非常相似。
  • Extender-與在Minecraft之類的遊戲中添加mod相似,Extender允許我們添加工具集成,其他掃描定義等組件!
  • Scanner-自動化的Web漏洞掃描程序,可以突出顯示應用程序的區域,以供進一步的手動調查或對Burp的其他部分進行可能的利用。儘管Burp Suite的社區版中沒有此功能,但它仍然是執行Web應用程序測試的關鍵方面。

安裝憑證

在開始使用新安裝的(或預安裝的)Burp Suite之前,我們必須修復證書警告。我們需要安裝CA證書,因為BurpSuite充當瀏覽器與通過Internet發送之間的代理-它允許BurpSuite應用程序讀取和發送HTTPS數據。

聯繫

在設定裡面的憑證匯入CA證書。

憑證可以在 http://127.0.0.1:8080 看到。

Proxy

Proxy代理是Burp的核心模塊,自然也會是我們使用最多的一個模組。它主要用來截獲並修改瀏覽器、手機App等客戶端的HTTP/HTTPS數據包。使用Burp,必須先設置代理端口。依次選擇Proxy→Options→Proxy Listeners→Add增加代理。

其次將當前攔截請求轉到其他模組只要按右鍵。

Repeater
在需要手工測試HTTP Header中的Cookie或User-Agent等瀏覽器可修改的字段是否存在註入點,以及需要發現複雜的POST數據包中是否存在SSRF時,一般需要用到Repeater模塊在Proxy中單擊右鍵並選擇Send to Repeater(或者Ctrl+r)就可以將截獲的數據包發向Repeater模塊,這個模塊應屬於實踐中最常用的模塊。在這個模塊中,左邊為將要發送的原始HTTP請求,右邊為服務器返回的數據。在界面左側可以方便地修改將要發送的數據包,用於手工測試Payload等操作,修改完成後點擊Go按鈕,即可在右側收到服務器的響應。 

Intruder

暴力破解(以下簡稱“爆破”)是一種低成本但可能帶來高回報的攻擊方式。大家應該了解過近些年出現的各種撞庫漏洞。當然,在撞庫的時候需要考慮性能和效率以進行多線程並發。這時候可以用Python或其他語言編寫腳本進行撞庫。 Burp中也提供了簡單易用的Intruder模塊來進行爆破。
Intruder模塊包含Sniper、Battering ram、Pitchfork、Cluster bomb等四種攻擊類型,可以方便地進行Fuzz等測試。在Proxy等模塊中,在想要測試的數據包上點擊右鍵並選擇Send to Intruder(或者Ctrl+l)即可將數據包發向Intruder模塊。 Intruder模塊中包含了Target、Position、Payload、Options這四個標籤頁,可分別用於設置不同的功能。

第一種:

Sniper標籤 這個是我們最常用的,Sniper是狙擊手的意思。這個模式會使用單一的payload【就是導入字典的payload】組。它會針對每個position中$$位置設置payload。這種攻擊類型適合對常見漏洞中的請求參數單獨地進行測試。攻擊中的請求總數應該是position數量和payload數量的乘積。

第二種:

Battering ram – 這一模式是使用單一的payload組。它會重複payload並且一次把所有相同的payload放入指定的位置中。這種攻擊適合那種需要在請求中把相同的輸入放到多個位置的情況。請求的總數是payload組中payload的總數。簡單說就是一個playload字典同時應用到多個position中

第三種:

Pitchfork – 這一模式是使用多個payload組。對於定義的位置可以使用不同的payload組。攻擊會同步迭代所有的payload組,把payload放入每個定義的位置中。比如:position中A處有a字典,B處有b字典,則a【1】將會對應b【1】進行attack處理,這種攻擊類型非常適合那種不同位置中需要插入不同但相關的輸入的情況。請求的數量應該是最小的payload組中的payload數量

第四種:

Cluster bomb – 這種模式會使用多個payload組。每個定義的位置中有不同的payload組。攻擊會迭代每個payload組,每種payload組合都會被測試一遍。比如:position中A處有a字典,B處有b字典,則兩個字典將會循環搭配組合進行attack處理這種攻擊適用於那種位置中需要不同且不相關或者未知的輸入的攻擊。攻擊請求的總數是各payload組中payload數量的乘積。

Decoder

Decoder模塊為我們提供了豐富的編碼與解碼工具,可以方便地對HTTP/HTTPS中需要的數據進行編碼和解碼。

支援的編碼

  • URL
  • HTML
  • Base64
  • ASCII hex
  • Hex
  • Octal
  • Binary
  • GZIP

Compare

在某些諸如Bool盲注的正確和錯誤的回顯題目中,有時候兩次數據包之間的差別很小,比較難發現,這時可以使用比較模塊來進行比較。

參考資料:
1. https://blog.csdn.net/u012804180/article/details/52015224
2. https://github.com/abdullah-baghuth/Burp-Suite
3. Burp Suite documentation – PortSwigger

Back To Top
error: 內容被保護 !!