Burp Suite 专业安全测试手册

🔗 官方网站https://portswigger.net/burp
🔗 社区版下载https://portswigger.net/burp/communitydownload
🔗 文档中心https://portswigger.net/burp/documentation


1. Burp Suite 核心概述

Burp Suite 是业界领先的 Web 应用安全测试平台,包含:
代理拦截(Proxy)
漏洞扫描(Scanner)
请求重放(Repeater)
暴力破解(Intruder)
爬虫探测(Spider)
序列分析(Sequencer)
扩展商店(BApp Store)

支持 Windows/macOS/Linux,社区版免费,专业版含高级扫描功能($399/年)


2. 安装与配置

安装步骤

  1. 下载安装包(社区版/专业版)
  2. 运行安装程序(Java 11+ 必需)
  3. 首次启动选择临时项目或创建新项目

浏览器代理配置

1
2
3
代理地址:127.0.0.1  
代理端口:8080(默认)
忽略地址:127.0.0.1, localhost

安装 PortSwigger CA 证书解决 HTTPS 警告:http://burp/cert


3. 核心模块深度解析

A. Proxy(代理拦截)

  • 拦截控制
    • Intercept is on/off 开关拦截
    • Forward 放行请求
    • Drop 丢弃请求
    • Action 右键菜单发送到其他模块
  • 历史记录:查看所有经过代理的请求/响应
  • 匹配与替换:自动修改特定请求头(如 Cookie)

B. Target(目标分析)

  • 站点地图:自动生成应用结构树

  • 范围控制

    1
    2
    3
    4
    Target → Scope → Add  
    协议:http/https
    主机:*.example.com
    端口:80,443
  • 问题面板:汇总发现的安全漏洞

C. Scanner(漏洞扫描)
(仅专业版)

  • 扫描类型

    • 被动扫描:实时分析流量(零影响)
    • 主动扫描:主动发送测试载荷(可能影响服务)
  • 配置策略

    1
    2
    3
    New Scan → Scan Configuration  
    选择:Critical/High 风险漏洞
    排除:注销功能等危险路径

D. Intruder(入侵攻击)

  • 攻击类型

    类型 用途
    Sniper 单参数爆破(用户名/密码)
    Battering ram 多参数相同载荷
    Pitchfork 多参数独立字典(用户名+密码)
    Cluster bomb 多参数组合爆破(笛卡尔积)
  • 载荷设置

    1
    2
    3
    Payloads → Payload set  
    类型:Simple list / Runtime file / Numbers
    添加字典:密码字典/模糊测试字符串

E. Repeater(请求重放)

  • 手动修改并重发请求(支持多标签页)
  • 对比不同版本响应(Diff 功能)
  • 常用场景:
    • 绕过身份验证
    • 测试业务逻辑漏洞
    • 验证输入过滤规则

F. Sequencer(会话分析)

  • 分析会话令牌的随机性
  • 操作流程:
    1. 捕获包含 Token 的请求(如 Cookie)
    2. 发送到 Sequencer
    3. 点击 Start live capture
    4. 查看熵值分析报告

4. 渗透测试工作流

Step 1:初始配置

  1. 浏览器配置 Burp 代理
  2. 设置目标范围(Target → Scope)
  3. 关闭拦截(Proxy → Intercept off)

Step 2:爬取内容

  • 自动爬虫:Target → Site map → Spider this host
  • 手动浏览:遍历所有应用功能

Step 3:漏洞扫描

  1. 右键目标 → Scan
  2. 配置扫描策略(排除破坏性操作)
  3. 查看报告(Dashboard → Scan issues)

Step 4:手动测试

  • 修改敏感参数(Repeater)
  • 爆破关键接口(Intruder)
  • 测试越权访问(修改用户ID)

Step 5:生成报告
Report → Generate scan report(HTML/XML)


5. 高级技巧与实战案例

A. 绕过 WAF 技巧

  • 分块传输

    1
    2
    3
    Proxy → Options → Match and Replace  
    添加规则:^Content-Length$ 替换为 Transfer-Encoding
    值:chunked
  • IP 伪造

    1
    2
    X-Forwarded-For: 127.0.0.1  
    Client-IP: 192.168.1.1

B. SQL 注入检测

  1. 捕获登录请求发送到 Intruder
  2. 标记用户名参数:§username§
  3. 载荷选择 SQLi 字典:Payloads → Add from list → SQL Injection
  4. 通过响应长度/内容识别注入点

C. 业务逻辑漏洞挖掘

  • 价格篡改

    1
    {"product_id":1001, "price": 99.9} → 改为 0.01  
  • IDOR 越权

    1
    GET /user/profile?user_id=100 → 改为 user_id=101  

D. JWT 攻击

  1. 发送请求到 Repeater

  2. 安装 JWT Editor 扩展(BApp Store)

  3. 修改 JWT 载荷:

    1
    {"user":"admin", "exp":9999999999}  
  4. 重新签名发送


6. 扩展生态(BApp Store)

扩展名称 功能
Logger++ 高级流量记录与搜索
Autorize 自动越权测试
Turbo Intruder 高性能爆破(比原生快10倍)
JWT Editor JWT 令牌操作工具
SAML Raider SAML 协议攻击工具
Retire.js 检测过期的 JavaScript 库

安装路径:Extender → BApp Store


7. 性能优化配置

  • 内存分配(启动脚本):

    1
    2
    3
    4
    5
    # Windows (burp.bat)
    set JAVA_OPTS=-Xmx4g

    # Linux/macOS
    java -Xmx4g -jar burpsuite.jar
  • 网络设置

    1
    2
    3
    Project options → Connections  
    增加:Max concurrent requests = 50
    超时:Socket timeout = 30000ms
  • 数据库优化

    1
    2
    3
    Project options → Misc → Database  
    选择:High performance (HSQLDB)
    定期:Compact database

8. 安全与合规指南

  1. 法律授权:必须获得书面渗透测试授权
  2. 备份配置:导出项目设置(Project options → Save settings
  3. 敏感数据处理
    • 启用项目级加密(Project options → Misc → Encryption
    • 测试后删除包含认证信息的数据
  4. 规避服务影响
    • 主动扫描使用限速模式(Scan configuration → Resource Pool
    • 避免在生产环境使用 Intruder 高强度爆破

9. 专业资源推荐