Burp Suite Scanner 自動化漏洞掃描

Burp Suite Scanner Automated Vulnerability Scanning

Burp Scanner 概述

Burp Scanner 是 Burp Suite Professional 中的核心功能之一,它是一款功能強大的自動化網頁應用程式漏洞掃描器。透過 Burp Scanner,滲透測試人員可以自動化地發現網站中的各種安全漏洞,包括 SQL 注入、跨站腳本攻擊(XSS)、路徑穿越等常見弱點。

主要特點

  • 智慧掃描引擎:使用先進的演算法自動識別和測試潛在漏洞
  • 精準度高:透過多重驗證機制減少誤報
  • 自訂掃描範圍:可精確控制要掃描的目標和參數
  • 整合工作流程:與 Burp Suite 其他模組無縫整合
  • 詳細報告:產生專業的漏洞報告,包含修復建議

支援的漏洞類型

Burp Scanner 可以檢測多種 OWASP Top 10 漏洞:

漏洞類型說明
SQL InjectionSQL 注入漏洞
Cross-site Scripting (XSS)跨站腳本攻擊
XML External Entity (XXE)XML 外部實體注入
OS Command Injection作業系統命令注入
Path Traversal路徑穿越漏洞
Server-side Request Forgery (SSRF)伺服器端請求偽造
Authentication Issues認證相關問題
Information Disclosure資訊洩露

掃描類型

Burp Scanner 提供兩種主要的掃描模式:被動掃描和主動掃描。

被動掃描(Passive Scan)

被動掃描會分析通過 Burp Proxy 的所有流量,但不會主動發送任何額外的請求。

特點:

  • 完全不對目標發送額外請求
  • 不會觸發任何警報或防護機制
  • 即時分析流經代理的流量
  • 適合在測試初期進行偵察

可檢測的問題:

  • 敏感資訊洩露(如密碼明文傳輸)
  • 缺少安全標頭(如 X-Frame-Options)
  • Cookie 安全設定問題
  • 表單自動完成設定
  • 混合內容(HTTPS 頁面載入 HTTP 資源)

啟用方式:

  1. 前往 Dashboard > Live passive crawl from Proxy
  2. 確保選項已啟用
  3. 正常瀏覽目標網站,被動掃描會自動進行

主動掃描(Active Scan)

主動掃描會主動向目標發送大量測試請求,以發現更深層的漏洞。

特點:

  • 發送大量測試 payload
  • 可能觸發防護機制(WAF、IDS)
  • 能發現更多類型的漏洞
  • 需要授權才能執行

可檢測的問題:

  • SQL 注入
  • 跨站腳本攻擊(反射型、儲存型、DOM 型)
  • 命令注入
  • 路徑穿越
  • XML 注入
  • LDAP 注入
  • 伺服器端模板注入(SSTI)

啟動方式:

  1. Proxy > HTTP history 中選擇要掃描的請求
  2. 右鍵選擇 ScanDo active scan
  3. 設定掃描選項後開始掃描

設定掃描範圍

正確設定掃描範圍是確保掃描效率和準確性的關鍵。

定義目標範圍

  1. 前往 Target 標籤頁

    Target > Scope 中設定掃描範圍。

  2. 新增目標

    點擊「Add」按鈕,輸入目標網址:

    1
    
    https://example.com/
    
  3. 使用進階範圍設定

    可以使用正則表達式精確控制範圍:

    1
    2
    3
    4
    
    Protocol: HTTPS
    Host: ^example\.com$
    Port: 443
    File: ^/api/.*
    

排除特定路徑

某些路徑不應被掃描(如登出功能、刪除操作):

  1. Scope 標籤頁中找到「Exclude from scope」

  2. 新增要排除的路徑:

    1
    2
    3
    
    https://example.com/logout
    https://example.com/admin/delete/*
    https://example.com/api/v1/users/*/remove
    

過濾檔案類型

排除不需要掃描的靜態檔案:

  1. 前往 Scan configuration > Crawl 設定

  2. 在「Skip files with these extensions」中新增:

    1
    
    css, js, jpg, jpeg, png, gif, svg, woff, woff2, ttf, ico
    

啟動掃描任務

方法一:從 HTTP History 啟動

  1. Proxy > HTTP history 中選擇目標請求
  2. 右鍵選擇 Scan
  3. 選擇掃描類型:
    • Crawl and audit:爬蟲加漏洞掃描
    • Audit selected items:僅對選定項目進行掃描
  4. 點擊「OK」開始掃描

方法二:從 Target Site Map 啟動

  1. 前往 Target > Site map
  2. 選擇要掃描的目錄或頁面
  3. 右鍵選擇 Scan > Crawl and audit

方法三:新建掃描任務

  1. 前往 Dashboard 標籤頁
  2. 點擊「New scan」按鈕
  3. 選擇掃描類型:
    • Crawl and audit:完整掃描
    • Crawl:僅爬蟲
    • Audit selected items:審計選定項目
  4. 輸入目標 URL
  5. 設定掃描選項
  6. 點擊「OK」開始

監控掃描進度

掃描開始後,可以在 Dashboard 中監控進度:

  • Tasks:顯示所有掃描任務
  • Issue activity:即時顯示發現的問題
  • Event log:記錄掃描事件

掃描設定選項

爬蟲設定(Crawl Settings)

控制爬蟲的行為和範圍。

爬蟲策略:

策略說明
Fastest最快速度,較淺的覆蓋範圍
Fast快速掃描,平衡速度與覆蓋率
Normal標準掃描,適合大多數情況
Thorough深入掃描,更全面但較慢

重要設定:

  • Maximum crawl depth:爬蟲深度限制
  • Maximum unique locations:最大掃描位置數
  • Maximum requests per URL:每個 URL 的最大請求數

審計設定(Audit Settings)

控制漏洞測試的行為。

審計策略:

策略說明
Light輕量級掃描,僅測試高風險漏洞
Normal標準掃描,平衡覆蓋率和時間
Critical僅掃描關鍵漏洞
Thorough深入測試所有漏洞類型

Issues to detect

可以選擇要檢測的漏洞類型:

  • SQL injection
  • Cross-site scripting
  • HTTP header injection
  • OS command injection
  • 等等…

效能設定

Request Engine:

  • Number of threads:並發執行緒數(建議 5-20)
  • Throttle between requests:請求間隔時間
  • Request timeout:請求超時時間

資源池設定:

  1. 前往 Project options > Connections > Resource pools
  2. 建立新的資源池
  3. 設定最大並發請求數
  4. 將掃描任務指派到資源池

漏洞報告解讀

問題嚴重程度

Burp Scanner 使用以下等級分類漏洞:

等級顏色說明
High紅色嚴重漏洞,需立即修復
Medium橘色中等風險,應儘快處理
Low藍色低風險問題
Information灰色資訊性發現

問題信心等級

等級說明
Certain確定存在漏洞
Firm高度可能存在
Tentative可能存在,需手動驗證

檢視問題詳情

  1. 前往 Dashboard > Issue activityTarget > Site map > Issues
  2. 點擊問題查看詳情:
    • Issue detail:漏洞描述和影響
    • Request/Response:觸發漏洞的請求和回應
    • Advisory:修復建議
    • References:相關參考資料

匯出報告

  1. 前往 Target > Site map
  2. 選擇目標,右鍵選擇 Issues > Report issues
  3. 選擇報告格式:
    • HTML
    • XML
  4. 選擇要包含的內容:
    • 問題詳情
    • 請求/回應
    • 修復建議
  5. 點擊「Generate report」

掃描策略設定

建立自訂掃描策略

  1. 前往 Dashboard > New scan > Scan configuration
  2. 點擊「New」建立新策略
  3. 設定以下選項:

爬蟲策略:

1
2
3
Maximum link depth: 10
Maximum crawl time: 30 minutes
Maximum unique locations: 5000

審計策略:

1
2
3
Issues to detect: All
Optimization level: Normal
Insertion point types: All
  1. 儲存策略以便日後使用

針對不同目標的建議策略

快速掃描(時間有限):

  • 爬蟲深度:5
  • 審計類型:Critical issues only
  • 執行緒數:10

完整掃描(深度測試):

  • 爬蟲深度:15
  • 審計類型:All issues
  • 執行緒數:5
  • 加入延遲避免觸發防護

API 測試:

  • 停用爬蟲
  • 僅審計已知端點
  • 關注注入類漏洞

排程掃描

Burp Suite Professional 支援排程掃描功能。

設定排程任務

  1. 前往 Dashboard > New scan
  2. 在掃描設定中選擇「Schedule」選項
  3. 設定排程參數:
    • Start time:開始時間
    • Recurrence:重複頻率(每日、每週等)
    • End condition:結束條件

使用 CI/CD 整合

透過 Burp Suite Enterprise 或 REST API 整合到 CI/CD 流程:

1
2
3
4
5
6
7
# 使用 Burp REST API 啟動掃描
curl -X POST "http://localhost:1337/v0.1/scan" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": ["https://example.com"],
    "scan_configurations": ["Crawl and Audit - Balanced"]
  }'

誤報處理

識別誤報

以下情況可能是誤報:

  • 信心等級為「Tentative」的問題
  • 無法重現的漏洞
  • WAF 或應用程式的正常行為被誤判

驗證漏洞

  1. 使用 Repeater 手動測試

    右鍵點擊問題,選擇「Send to Repeater」,手動驗證漏洞是否真實存在。

  2. 檢視回應內容

    確認回應中是否真的包含漏洞特徵(如錯誤訊息、注入結果)。

  3. 嘗試不同 payload

    使用不同的測試 payload 確認漏洞是否可被利用。

標記誤報

  1. 右鍵點擊問題
  2. 選擇「Set severity」>「False positive」
  3. 或選擇「Delete issue」移除誤報

建立誤報規則

避免相同誤報重複出現:

  1. 前往 Project options > Sessions > Macros
  2. 建立規則排除特定模式的回應
  3. 或在掃描設定中排除特定參數

最佳實踐

掃描前準備

  1. 取得適當授權:確保有書面測試授權
  2. 了解目標架構:先手動瀏覽,了解應用程式功能
  3. 設定正確範圍:避免掃描到非授權目標
  4. 準備測試帳號:建立專用測試帳號

掃描中注意事項

  1. 監控掃描進度:定期檢查是否有異常
  2. 控制掃描速度:避免對目標造成負擔
  3. 記錄發現:及時記錄重要發現
  4. 備份設定:定期儲存專案狀態

掃描後工作

  1. 手動驗證:對所有發現進行手動確認
  2. 整理報告:移除誤報,補充說明
  3. 提供修復建議:針對每個漏洞提供具體修復方案
  4. 追蹤修復:協助確認漏洞修復狀態

參考資源

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy