iT邦幫忙

2025 iThome 鐵人賽

DAY 21
0
Security

跨出第一步:D 從0到0.1的Web security 系列 第 21

Day 20: 駭客的瑞士刀:Burp Suite 基礎介紹

  • 分享至 

  • xImage
  •  

今天我們來聊聊 Web 滲透測試領域中,如同瑞士刀一般不可或缺的神兵利器——Burp Suite

對於任何從事 Web 安全相關工作的人員來說,無論是滲透測試工程師、資安研究員,甚至是注重安全的開發者,Burp Suite 都是必須熟練掌握的核心工具。


什麼是 Burp Suite?

Burp Suite 是由 PortSwigger 公司開發的一套整合式 Web 應用程式安全測試平台。它的核心功能是一個攔截代理 (Intercepting Proxy),可以讓你在你的瀏覽器和目標網站伺服器之間,扮演「中間人」(Man-in-the-Middle) 的角色。

這意味著,從你的瀏覽器發出的每一個請求 (Request),以及網站伺服器回傳的每一個回應 (Response),都會先經過 Burp Suite。這讓你能夠:

  • 攔截 (Intercept):暫停請求或回應,在它被發送出去之前進行修改。
  • 檢視 (Inspect):查看所有 HTTP/S 流量的詳細內容,包括標頭 (Headers)、參數、Cookie 等。
  • 修改 (Modify):任意竄改請求或回應的內容,以測試伺服器的反應。

簡單來說,Burp Suite 給了你一雙「透視眼」和一雙「手術手」,讓你能夠徹底剖析並操控 Web 應用程式的通訊過程。

核心概念:代理伺服器的運作方式

要使用 Burp Suite,你需要在你的瀏覽器設定中,將代理伺服器指向 Burp Suite 正在監聽的埠口(預設為 127.0.0.1:8080)。

  • HTTP 流量瀏覽器 -> Burp Suite -> 網站伺服器
  • HTTPS 流量:對於加密的 HTTPS 流量,為了讓 Burp Suite 能夠解密並檢視內容,你需要在瀏覽器中安裝 Burp Suite 的 CA 憑證。安裝後,瀏覽器會信任 Burp Suite 這個「中間人」,讓它能夠解密、分析、修改後再重新加密,然後再發送給伺服器,反之亦然。

Burp Suite 的主要模組 (核心功能分頁)

Burp Suite 將其強大的功能整合在不同的模組(分頁)中,以下介紹幾個最核心、最常用的模組:

1. Proxy (代理)

  • 核心功能:攔截、檢視和修改所有流經的 HTTP/S 流量。
  • 主要用途
    • Intercept (攔截):即時攔截請求/回應進行修改。例如,在送出修改密碼的請求前,攔截下來看看有沒有做好安全防護。
    • HTTP history (歷史紀錄):記錄所有通過代理的流量,這是你的主要資訊來源。你可以看到你瀏覽過的所有頁面、發出的所有 API 請求。
    • WebSockets history:專門記錄 WebSocket 流量。

2. Target (目標)

  • 核心功能:以樹狀結構呈現目標網站的地圖 (Site map),並顯示詳細的目標資訊。
  • 主要用途
    • 建立網站地圖:當你透過代理瀏覽網站時,Burp Suite 會自動將所有訪問過的端點 (Endpoints) 整理成一個結構清晰的地圖,讓你對整個應用程式的架構一目了然。
    • 定義測試範圍 (Scope):你可以設定一個範圍,讓 Burp Suite 只顯示和處理你感興趣的目標,過濾掉雜訊。

3. Repeater (重送器)

  • 核心功能:手動修改並重新發送單一的 HTTP 請求,並觀察其回應。
  • 主要用途
    • 手動漏洞驗證:這是手動滲透測試的靈魂。當你在 Proxy History 中看到一個可疑的請求(例如 .../getUser?id=123),你可以將它發送到 Repeater。
    • 精細的參數調整:在 Repeater 中,你可以反覆修改 id 參數的值(例如改成 123' 來測試 SQL Injection,或改成 124 來測試權限控制),然後立即看到伺服器的反應,效率極高。

4. Intruder (入侵者)

  • 核心功能:自動化、可高度客製化的攻擊工具,用於對請求的特定部分進行大量、重複的測試。
  • 主要用途
    • Fuzzing (模糊測試):向參數發送大量非預期的、異常的資料,測試應用程式的穩定性和錯誤處理。
    • 暴力破解 (Brute-forcing):對登入表單的密碼欄位,使用字典檔進行密碼猜解。
    • 列舉 (Enumeration):對使用者 ID、訂單編號等參數進行數字或字元的列舉,以找出隱藏的資訊或存取控制漏洞。

5. Decoder (解碼器)

  • 核心功能:一個方便的編碼與解碼工具。
  • 主要用途:對應用程式中常見的編碼格式進行處理,例如 URL 編碼、Base64、HTML、Hex 等。當你看到一長串被編碼的參數時,可以快速丟到 Decoder 中還原其原始樣貌。

6. Comparer (比較器)

  • 核心功能:以視覺化的方式「比對」兩個請求或回應之間的差異。
  • 主要用途:當你修改了請求中的某個參數後,想知道伺服器的回應有哪些細微的變化時,Comparer 非常有用。例如,比對使用不同使用者身份請求同一個資源時,回應的差異。

一個典型的基礎手動測試流程

  1. 設定代理:設定好瀏覽器代理,並安裝 CA 憑證。
  2. 探索應用:關閉 Proxy 的攔截功能,正常地瀏覽一次目標網站的所有功能,讓 Burp Suite 在 Target 分頁中建立起完整的網站地圖。
  3. 分析流量:到 ProxyHTTP history 分頁,檢視所有紀錄下來的請求。尋找看起來有趣的、處理敏感資料的、或參數複雜的請求。
  4. 手動測試:看到可疑的請求後,點擊右鍵將它發送到 Repeater。在 Repeater 中,開始手動修改參數,注入測試語句,觀察伺服器的反應,驗證漏洞是否存在。
  5. 自動化攻擊:對於需要大量重複嘗試的測試點(如登入密碼、驗證碼、資源 ID),將請求發送到 Intruder,設定好攻擊 payload 和插入點,然後開始自動化攻擊。
  6. 分析與報告:利用在各個模組中發現的漏洞證據(請求與回應的截圖),撰寫最終的滲透測試報告。

版本差異:Community vs. Professional

  • Community Edition (免費版)

    • 包含了手動測試所需的核心模組,如 Proxy, Repeater, Decoder, Comparer。
    • Intruder 模組被嚴重降速,不適合進行大規模的自動化攻擊。
    • 沒有內建的自動化弱點掃描器 (Scanner)
    • 對於學習 Web 安全和進行基礎的手動測試來說,完全足夠。
  • Professional Edition (專業版 / 付費版)

    • 完整的 Intruder:沒有速度限制,是專業人士的標準配備。
    • 內建強大的 Scanner:可以自動對網站進行主動和被動的弱點掃描,快速發現常見漏洞。
    • 支援外掛程式 (Extensions):可以透過 BApp Store 安裝由社群開發的各種擴充功能,極大地增強 Burp Suite 的能力。
    • 支援專案儲存等進階功能。

Burp Suite 是現代 Web 滲透測試的一個好用工具。雖然它的 Pro 版本有強大的自動化掃描功能,但其真正的價值在於它賦予了測試人員無與倫比的控制力與洞察力,讓精細、複雜的手動安全測試成為可能。對於任何想深入 Web 安全領域的人來說,從免費的 Community Edition 開始學習,是必經之路。


上一篇
Day 19: 借刀殺人:淺談 CSRF (跨站請求偽造) 與 SSRF (伺服器端請求偽造)
下一篇
Day 21: Nmap基礎介紹
系列文
跨出第一步:D 從0到0.1的Web security 23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言