当前位置: 首页 > news >正文

关于 Burp Suite 详解

一、Burp Suite 简介

Burp Suite 是由 PortSwigger 公司开发的一款集成式 Web 渗透测试工具,被广泛应用于安全研究、风险点挖掘、CTF 比赛、SRC 风险点报告等领域。其强大的功能和良好的交互性使其成为 Web 安全领域的标准工具之一。

主要特点包括:

  • 强大的抓包、修改请求能力

  • 内置爆破模块(Intruder)、自动化扫描模块(Scanner)

  • 支持插件扩展(BApp Store)

  • 丰富的手动测试模块(Repeater、Decoder、Comparer)


二、Burp Suite 下载与安装

1. 版本选择

Burp Suite 有两个主要版本:

  • Community Edition(免费版):功能受限,适合学习和简单测试

  • Professional Edition(专业版):提供完整功能,如自动化扫描、批量爆破、多线程等

2. 下载地址

  • 官网:https://portswigger.net/burp

  • 国内用户可以使用代理访问,或在 Github / 论坛寻找镜像安装包

3. 安装流程

Windows 系统:

  • 下载 .exe 安装包,双击安装即可。

  • 默认会在开始菜单创建快捷方式。

Linux 系统:

chmod +x burpsuite_pro_linux_v202x_xxx.sh
./burpsuite_pro_linux_v202x_xxx.sh

MacOS 系统:

  • 下载 .dmg 文件,拖动到应用目录即可。

4. Java 环境依赖

Burp Suite 使用 Java 编写,安装包内已集成 JRE,无需额外配置。但也可以使用命令行运行 jar 包:

java -jar burpsuite_community_v202x_xxx.jar

三、启动与界面总览

1. 启动

  • 打开 Burp Suite → 创建 Temporary Project → 下一步

  • 选择使用默认配置启动

2. 主界面布局

Burp Suite 主界面分为顶部导航栏和下部模块区域。

  • Target:目标管理与站点地图

  • Proxy:拦截、修改和转发请求

  • Intruder:参数爆破工具

  • Repeater:手动发送请求调试

  • Scanner(Pro):自动风险点扫描

  • Decoder:常用编码解码转换

  • Comparer:内容对比

  • Extender:扩展插件管理


四、核心模块详解

模块作用描述备注
Proxy拦截并修改客户端与服务器的HTTP/HTTPS请求与响应渗透测试中最常用的模块
Repeater手动修改请求后反复发送,观察服务器响应方便测试参数与功能
Intruder自动化爆破工具,支持自定义payload和爆破策略爆破口令、参数枚举的利器
Scanner专业版自动风险点扫描器自动扫描常见风险点
Sequencer分析会话令牌随机性,判断令牌安全性会话管理安全性分析
Decoder编码/解码工具,支持多种编码格式支持Base64、URL编码等
Comparer对比两个数据包差异用于分析响应或请求的细微差异
Extender加载插件,扩展功能可以自定义扩展,安装第三方插件

4.1 Proxy 模块:抓包与请求拦截

4.1.1 功能概览

Burp 的 Proxy 模块是所有渗透测试的第一入口,它的主要职责包括:

功能描述
拦截浏览器请求自动抓取通过代理访问的所有 HTTP/HTTPS 请求
修改请求参数在请求发出前修改 Header、参数、Cookie 等内容
转发或阻止请求拦截后可手动选择是否发送或丢弃该请求
记录 HTTP 历史记录自动保存请求/响应内容,供后续分析使用

4.1.2 抓包环境配置

1)设置 Burp 的监听代理

  • 打开 Burp → 进入:ProxyOptionsProxy Listeners

  • 默认监听地址为:

    地址:127.0.0.1
    端口:8080
    

可以自定义为 0.0.0.0(让其他设备也能连接,如手机)。

2)配置浏览器代理(推荐用 Firefox)

进入 Firefox 设置 → 网络设置 → 手动代理配置:

HTTP 代理:127.0.0.1
端口:8080
所有协议使用相同代理:勾选

3)导入 Burp 的 CA 根证书(解决 HTTPS 报错)

HTTPS 抓包默认是失败的,你必须安装 Burp 的 CA 根证书:

步骤:

  • 配置好代理后,在浏览器访问:

    http://burp
    
  • 点击 CA Certificate 下载证书(通常为 .cer

  • 导入浏览器:

    • Firefox:设置 → 隐私与安全 → 证书 → 查看证书 → 导入

    • 勾选:“信任此 CA 以识别网站”

4.1.3 Proxy 界面详解(Sub Tabs)

子模块作用
Intercept实时拦截请求并编辑参数
HTTP history所有被拦截并处理过的请求与响应记录
WebSockets historyWebSocket 通信记录
Options监听端口、拦截规则、自定义过滤等

4.1.4 使用流程详解

步骤 1:打开拦截功能

  • Proxy > Intercept > Intercept is ON (确保开启)

  • 此时浏览器中发出的请求会在此处暂停

步骤 2:查看并修改请求内容

可以在拦截窗口看到:

GET /index.php?id=1 HTTP/1.1
Host: example.com
Cookie: sessionid=xxxxx

可以修改任何字段,比如参数、头部信息,然后再转发。

步骤 3:选择操作

按钮作用
Forward发送请求到服务器(放行)
Drop丢弃请求(不会发送)
Action发送到其他模块(Repeater、Intruder)
Intercept is ON/OFF开关拦截

步骤 4:查看历史记录

  • Proxy > HTTP history可查看所有已发请求与返回响应,双击即可查看详情。

  • 功能类似于 Fiddler 的 Session 面板,支持筛选与搜索。

步骤 5:设置拦截规则

进入:Proxy > Options > Intercept Client Requests

可以设置条件,比如只拦截带参数的 GET 请求:

Match: Request Line → Contains → ?

或者只拦截特定域名、路径。

=======================================

4.2 Repeater 模块:手动调试请求

4.2.1 功能概览

功能说明
 对请求进行细致测试和修改可自由编辑请求参数、头部、方法等
 重复发送请求对同一个请求反复发送不同版本做对比
 分析响应差异手动观察响应中是否存在风险点回显、状态变化等
 手动验证风险点利用已知 payload 或测试参数精细打点,确认是否存在风险点

4.2.2 使用方法(配合 Proxy 模块)

Step 1:抓包并发送到 Repeater

在 Proxy 或 HTTP history 中选中感兴趣的请求,右键 → Send to Repeater
也可点击顶部菜单的 ActionSend to Repeater

Step 2:进入 Repeater 模块查看请求

点击顶部 Repeater 模块,左侧标签页显示发过来的请求(编号如:[1], [2]

请求结构示例:

POST /login HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
Cookie: session=abc123username=admin&password=admin

可以修改任何部分(方法、路径、参数、Cookie、头部等)

Step 3:点击 Send 发起请求

点击右上角 Send 按钮,请求就会发出。

响应内容将展示在下方,可以查看:

  • Raw(原始响应)

  • HTML(网页渲染)

  • JSON(结构化数据)

  • Headers(响应头)

  • Pretty(格式化视图)

Step 4:复制、对比多个请求

Repeater 支持多标签页:

  • 一个请求修改参数为 password=admin

  • 另一个请求改为 password=123456

可以对比响应状态码、页面内容差异,从而判断:

  • 是否存在弱口令

  • 是否参数可注入

  • 是否行为发生变化

4.2.3 应用场景详解

1)手动测试 SQL 注入

原始参数:id=1
尝试注入:id=1'
进一步测试:id=1 AND 1=1、id=1 AND 1=2

观察响应是否一致,用于判断注入点是否存在。

2)手动测试 XSS

q=test → 替换为:q=<script>alert(1)</script>

查看响应中是否被反射出来,或 HTML 是否被执行。

3)测试权限绕过

Authorization: Bearer admin-token→ 替换为:Authorization: Bearer guest-token
→ 删除认证头看响应是否一致

判断接口是否需要鉴权或存在越权风险点

4)利用爆破 Payload 手动尝试绕过验证

可以逐个尝试不同的 Content-Type、Referer、Origin、路径绕过等:

/admin → /..;/admin
Referer: https://evil.com
X-Original-URL: /admin

=======================================

4.3 Intruder 模块:自动化爆破测试

4.3.1 功能概览

功能描述
 密码爆破爆破登录口令、验证码、Token 等
 参数枚举枚举接口参数值、文件名、路径等
 多种攻击模式Sniper、Cluster Bomb、Pitchfork、Battering Ram
 加载字典自定义字典进行有针对性攻击
 响应差异对比分析响应长度、状态码、内容等判断爆破成功与否

4.3.2 核心术语解释

术语含义
Payload要爆破或替换的值(如密码字典、用户名列表)
Position插入 Payload 的位置,用 § 包裹
Attack Type攻击模式,控制 payload 如何插入多个位置
Payload Set一组 Payload 数据,对应一个 §§ 位置
Payload Processing可对 Payload 进行编码、添加前后缀等处理

4.3.3 操作流程

1)抓包发送到 Intruder

  1. 在 Proxy 模块或 HTTP History 中选择一个请求(如登录接口)

  2. 右键 → Send to Intruder

2)配置 Position(设置爆破位置)

在 Intruder → Positions 标签页,Burp 会自动标记所有可变字段(用 § 包住)

可以:

  • 点击 Clear 清除所有标记

  • 手动选中要爆破的字段,如

    POST /login
    username=§admin§&password=§123456§
    

3)选择攻击类型(Attack Type)

模式用途示例
Sniper单点替换多个 payload 依次插入同一位置(最常用)
Battering Ram所有位置使用同一 payload用于如“用户名=密码”情况
Pitchfork多个位置同步对应 payload第一个位置用 payload1[0],第二个用 payload2[0]
Cluster Bomb多个位置做全组合两组 payload 两两组合,爆破所有可能组合

4)加载字典(Payload)

进入 Payloads 标签页

  • 选择 Payload set:Set 1、Set 2(对应 § 位置)

  • 填写 payload(如用户名、密码列表)

  • 可以手动输入,也可以加载字典文件(如 rockyou.txt

示例:

admin
root
guest
test

5)开始攻击

点击右上角 Start Attack(注意:社区版速率有限)

会看到结果表格:

请求编号状态码长度响应摘要
1200450Login failed
2302120Redirect to /dashboard

4.3.4 实战案例

示例 1:爆破登录密码

请求体:

POST /login
username=admin&password=§123456§

使用字典:rockyou.txt,观察是否出现状态码不同、返回 "Welcome" 字样。

示例 2:爆破后台目录

GET /§admin§ HTTP/1.1

Payload:admin, dashboard, manager, console

如果返回 200,则该目录可能存在。

示例 3:枚举参数值

GET /product?id=§1§

Payload:1 到 100 的 ID,观察是否有“商品不存在”或真实商品返回信息。

=======================================

4.4 Scanner 模块(Pro):自动风险点扫描

4.4.1 功能概览

功能描述
 主动扫描主动发起各种攻击载荷,模拟真实攻击测试
 被动扫描分析正常请求响应内容,挖掘安全隐患
 风险点识别SQL 注入、XSS、CSRF、SSRF、信息泄露、IDOR 等
 修复建议每个风险点报告中都有技术说明与修复建议
 报告输出支持导出 HTML、PDF 格式的风险点报告,便于整理与汇报

4.4.2 核心原理简析

主动扫描(Active Scanning)

  • 对接口参数注入测试 Payload(如 ', <script>, ../../etc/passwd 等)

  • 比较响应差异,判断是否存在风险点

  • 使用 Burp 内置规则进行组合探测

被动扫描(Passive Scanning)

  • 不发起额外请求,仅分析响应内容

  • 检查 Headers 是否安全(如 CSP、X-Frame-Options 缺失)

  • 分析信息泄露内容(如泄露服务器信息、版本号、内网路径等)

4.4.3 操作流程

1)启用自动扫描

进入:

Dashboard → Live Passive Crawl and Audit → Start Live Tasks

设置自动扫描触发方式(建议开启):

  • Live Passive Crawl

  • Live Active Audit (需专业版)

2)扫描目标网站

常见方法:

  • Proxy 抓包访问目标,Burp 自动记录并启动被动扫描

  • Target → Site map 中选择某个请求,右键 → Scan

  • 自己构造请求(如登录请求),在 Repeater 中右键 Scan

  • 在 Dashboard 中点击 New Scan → URL list,批量扫描多个目标

3)分析风险点结果

查看位置:

Dashboard → Issues

结果表格说明:

项目描述
Issue Type风险点类型(如 SQLi、XSS)
Severity严重等级(高、中、低、信息)
ConfidenceBurp 判断该风险点的可信度
URL风险点对应的 URL
Param存在问题的参数名称

点击任意风险点 → 查看详细信息:

  • 风险点说明(Description)

  • 复现步骤(Request/Response)

  • 修复建议(Remediation)

4.4.4 识别的常见风险点类型

风险点类型示例说明
SQL Injection参数可被 SQL 注入语句操控,如 id=1' OR 1=1 --
XSS参数回显未过滤导致脚本注入
CSRF接口无鉴权控制,可被第三方伪造请求
信息泄露页面泄露路径、调试信息、版本号等
Clickjacking页面未设置防点击劫持 Header
Open Redirect参数可跳转任意 URL,可能用于钓鱼或绕过验证
Unencrypted Communications明文通信传输敏感信息(如账号密码)
IDOR直接访问资源 ID 即可获得敏感数据,如 /user/12345

4.4.5 实战案例

示例 1:SQL 注入风险点发现

  • 抓取请求 GET /product?id=3

  • 右键 → Scan → 自动测试参数是否可注入

  • Scanner 发出类似测试:

id=3' OR '1'='1
id=3 AND 1=2
  • 响应差异出现时,Scanner 会标记 SQL 注入并提示风险等级

示例 2:信息泄露

  • 浏览网站首页 → 响应头中包含 X-Powered-By: PHP/7.3.0

  • 被动扫描自动标记:泄露服务器版本,建议移除或模糊化信息

示例 3:XSS 测试

  • 请求中包含 search=xxx

  • Scanner 发出 payload:

<script>alert(1)</script>
  • 响应中原样回显,被标记为反射型 XSS

=======================================

4.5 Target 模块:目标资源管理

4.5.1 功能总览

功能分类描述
 Site map展示网站完整结构、目录、接口列表
 Scope 设置设定测试范围,避免扫描/测试外部网站
 请求详情查看查看请求/响应、Header、参数、Cookies 等
 一键跳转右键直接送到 Repeater、Scanner、Intruder 模块
 高亮标记对特定路径进行颜色分类标注(重点目标)
 界面 Filter精确过滤指定路径、状态码、方法、内容类型等

4.5.2 Site map(站点地图)

显示方式

  • 树状结构展示网站的页面、API 路径

  • 每一个目录节点下挂载其资源请求

  • 动态构建,访问或扫描后自动生成

信息维度

  • URL

  • 请求方法(GET/POST/PUT 等)

  • 状态码(200、403、500 等)

  • 请求大小、响应类型

  • 是否为参数化接口

示例:

example.com/
├── login.php
├── api/
│   ├── user?id=1
│   └── data
├── admin/
│   └── index.php

4.5.3 Scope(作用域设置)

建议操作第一步就是设置 Scope!

设置方法

路径:

Target → Scope → Add

可以添加:

  • 单个 URL(https://example.com)

  • 模糊路径(https://example.com/api/*)

  • 正则匹配(更灵活)

功能用途

功能描述
 限定扫描Scanner 只对作用域内 URL 发起请求
 限定抓包Proxy 会提示你是否要拦截非作用域请求
 安全防止误扫避免扫到公网、生产、他人站点
 提高效率减少扫描负担、干扰信息

4.5.4 请求查看与管理

可以点击站点地图中的任意请求,查看详情:

请求细节:

  • 请求行(如 GET /user?id=1

  • 请求头(Header)

  • Cookies

  • 请求体(POST 数据)

响应详情:

  • 状态码(如 200、403)

  • 响应头

  • HTML 内容

  • JS/JSON 内容

  • 可直接双击发送到 RepeaterIntruder

4.5.5 过滤器(Filter)

Target 模块支持强大的过滤机制:

点击页面右上角 Filter(或使用 Filter 面板),可设置:

筛选项说明
Method仅查看 GET / POST 请求等
MIME Type限定 Content-Type,如 HTML/JSON
Status状态码,如 仅查看 200 或 403 页面
In Scope是否为作用域内 URL
Parameter是否带有参数
Request/Response 字符串匹配关键字搜索内容

4.5.6 快捷功能(右键菜单)

在 Site Map 中点击任意一条请求 → 右键,可操作:

功能说明
Send to Repeater送去重放测试
Send to Intruder送去参数爆破
Send to Scanner发起风险点扫描
Add to scope加入作用域
Copy URL / Raw复制请求
Highlight高亮标记
Add Comment添加备注

4.5.7 使用建议流程

  • 开启抓包访问目标网站

    • Proxy → 抓数据

  • 查看 Site Map 自动生成结构

    • Target → Site Map 自动记录接口

  • 设置 Scope,限定测试范围

    • Target → Scope → Add → example.com

  • 选取目标接口,右键送到 Repeater/Scanner/Intruder

    • 精准测试目标资源

  • 高亮重点路径 / 标注可疑接口

    • 后续更好管理、复测

=======================================

4.6 Decoder 模块:编码/解码/哈希处理

4.6.1 功能概览

功能描述
编码支持多种编码格式(Base64、URL、Hex 等)
解码对请求中加密/混淆内容进行还原
哈希生成快速生成 MD5、SHA1、SHA256 等哈希
美化/压缩格式化 JSON、HTML、JS 等内容,便于阅读
字符分析ASCII、Unicode 码查看

4.6.2 支持的常见格式

类型示例说明
Base64YWRtaW4=admin常用于 Token、账号信息
URL 编码%3Cscript%3E<script>常用于 URL 参数、XSS 检测
Hex 编码0x61a用于低层传输、编码
HTML 编码&lt;div&gt;<div>防止前端渲染 XSS
MD5 哈希admin21232f297a57a5a743894a0e4a801fc3弱密码爆破时常见
SHA-1/256 哈希用于签名验证、完整性校验

4.6.3 操作流程示例

Step 1: 打开 Decoder

路径:
Burp Suite → Decoder

会看到两个窗口:

  • 上方为输入窗口(原始数据)

  • 下方为输出窗口(编码或解码结果)

Step 2: 粘贴原始内容

例子:拦截到一个参数如下:

token=YWRtaW4=

粘贴 YWRtaW4= 到 Decoder 上方区域。

Step 3: 点击 Decode As → Base64

操作:

右键 → Decode As → Base64

下方立即显示结果:

admin

说明这个 Base64 编码就是 "admin"。

Step 4: 尝试编码、哈希等操作

可以继续:

  • 右键 → Encode As → URL/Hex/Base64(反向操作)

  • 右键 → Hash → MD5/SHA1/SHA256

例子:

admin → MD5 → 21232f297a57a5a743894a0e4a801fc3

-------

组合示例:Base64 + URL 双重编码

参数:

token=YVdSbGJuTjFjbVV1WTI5dA%3D%3D

分析流程:

  • 先 URL 解码:

YVdSbGJuTjFjbVV1WTI5dA== → Base64 字符
  • 然后 Base64 解码:
admin123(明文)

Decoder 可连续使用:

右键 Decode As → URL → Decode As → Base64

=======================================

4.7 Comparer 模块:请求响应对比

4.7.1 功能概览

功能说明
文本对比对比任意两段文本(如参数、页面代码)
请求对比比较两个 HTTP 请求之间的差异
响应对比对比两个 HTTP 响应的差异
字节级 / 行级 / 单词级 对比更细粒度的差异标注

4.7.2 模块入口与操作方式

Step 1: 打开 Comparer 模块

路径:

Burp Suite → Comparer

界面上会显示:

  • Item 1:左边对比项

  • Item 2:右边对比项

Step 2: 添加对比内容

可以从其他模块(如 Repeater、Proxy、Target)中 右键 → Send to Comparer

支持内容类型:

  • Request(请求)

  • Response(响应)

  • 任意选中内容(字符串、HTML)

Step 3: 开始对比

对比完成后,可选择不同对比视图:

对比方式说明
 Words按单词对比(默认)
 Lines按行对比
 Bytes按字节对比(最精确)

差异处会高亮显示,一目了然。

4.7.3 实战应用示例

示例 1:SQL 注入是否生效?

  • 修改参数 ID:

    • 请求 1:id=1

    • 请求 2:id=1'

发送两个响应到 Comparer 模块
→ 若对比发现页面结构/错误信息明显不同,说明注入有效。

示例 2:登录成功与失败响应

  • 请求 1:正常密码 → 返回“Welcome admin”

  • 请求 2:错误密码 → 返回“Login failed”

通过 Comparer 比较响应
→ 可精确识别响应中是否出现标志性信息,判断登录成功逻辑。

示例 3:XSS 回显验证

插入 payload:

<script>alert(1)</script>

比较修改前和修改后的响应:

  • 如果返回中包含 <script>alert(1)</script>,说明存在反射型 XSS。

  • 如果过滤或消失,可能被 WAF 拦截或应用做了编码处理。

示例 4:参数污染测试

  • 请求 1:单个参数:user=admin

  • 请求 2:重复参数:user=admin&user=test

比较响应 → 判断是否存在参数优先级风险点或逻辑偏差。

4.7.4 常见风险点对比实战

风险点类型对比对象
SQL 注入正常参数响应 vs 注入参数响应
XSS普通搜索关键词 vs 注入 XSS payload
文件包含正常路径请求 vs 带 ../etc/passwd 路径
登录认证错误 vs 正确凭据响应差异
权限绕过管理员 vs 普通用户请求响应内容

=======================================

4.8 Extender 模块:插件拓展系统

4.8.1 模块作用概览

Extender 模块 让 Burp 具备了极强的“可定制性”。可以通过它:

功能说明
 加载插件官方 BApp Store 提供大量插件
 编写插件支持 Java / Python(通过 Jython)编写自定义功能
 增强功能提供扫描增强、指纹识别、编码工具、字典生成器等能力
 控制插件行为启用/禁用插件、查看错误日志等

4.8.2 插件安装(使用 BApp Store)

Step 1: 打开 Extender 模块

进入:

Burp → Extender → BApp Store

Step 2: 安装插件

在 BApp Store 中:

  • 搜索想要的插件,如 HackvertorAutorizeJSON Beautifier

  • 点击右侧的 Install 即可自动安装并启用插件

安装后插件通常会出现在顶部菜单栏,或整合到其他模块(如 Repeater/Proxy/Scanner)中。

4.8.3 自定义插件开发(Java / Python)

语言支持

语言描述
Java官方推荐,直接编译成 JAR 包
Python通过 Jython 加载 Python 脚本(需配置 Jython 环境)

环境配置(Python 插件)

1)下载 Jython 的 jar 包(如:jython-standalone-2.7.2.jar) 下载地址

2)设置 Interpreter 路径:

Burp → Extender → Options → Python Environment → Set Jython Location

3)加载插件脚本:

Burp → Extender → Extensions → Add → Extension Type: Python → 选择 .py 文件

插件模板(Python 示例)

from burp import IBurpExtenderclass BurpExtender(IBurpExtender):def registerExtenderCallbacks(self, callbacks):self._callbacks = callbacksself._helpers = callbacks.getHelpers()callbacks.setExtensionName("Hello Burp")print("[*] Hello from your custom Burp plugin!")

这是一个最简单的插件,加载后会在控制台输出一句话。

可以继续拓展功能,如自动修改请求参数、记录日志、生成 payload 等。

4.8.4 常用插件推荐

插件名称功能类型
Hackvertor编解码、字符混淆、payload 转换渗透辅助
Autorize自动测试权限绕过风险点权限测试
Logger++强化日志记录,支持搜索与分析请求记录
JSON Beautifier格式化 JSON,提高可读性调试分析
JS Miner抓取页面中的 JS 文件前端分析
Burp Bounty Pro(付费)高级扫描规则编写扫描器扩展
Request Smuggler测试 HTTP 请求走私风险点协议安全
Active Scan++增强主动扫描插件自动化测试
Software Vulnerability Scanner检查 JS/框架中存在的 CVE 风险点第三方库检测

4.8.5 插件加载后的结构

在 Burp 界面中:

  • Extender → Extensions:管理所有已加载插件

  • Extender → Options:配置环境、查看错误日志、输出插件 console

  • 某些插件会新建独立 Tab,如 HackvertorAutorize 会出现在顶栏

4.8.6 实战应用举例

情景 1:批量权限绕过测试

使用插件:Autorize

  • 登录管理员账号,抓包任意请求

  • 切换为普通用户,打开 Autorize 插件

  • 自动重复请求并对比响应差异 → 快速识别哪些接口未做权限校验

情景 2:构造复杂 payload 编码

使用插件:Hackvertor

  • <script>alert(1)</script> 编码成:

\x3cscript\x3ealert(1)\x3c/script\x3e
  • 或 Base64/URL/Unicode 编码,生成多种混淆形式,绕过 WAF 规则。

情景 3:发现隐藏 JS 中的密钥信息

使用插件:JS Miner

  • 自动扫描当前页面中加载的所有 JavaScript 文件

  • 抓取并分析敏感关键字(如 token、key、api 等)

  • 节省大量手工分析时间


五、常用使用流程

5.1 配置代理 + 安装证书

设置 Burp 的代理监听地址

打开:

Proxy → Options → Proxy Listeners

默认监听地址:

127.0.0.1:8080

配置浏览器代理

方式一(推荐):

  • 使用插件 FoxyProxy 设置代理为 127.0.0.1:8080

方式二(手动):

  • Chrome/Firefox → 设置 → 网络设置 → 手动代理 → 填入上面地址

安装 Burp 的 CA 根证书(避免 HTTPS 报错)

步骤:

  1. 访问 http://burpsuite(必须配置了代理才能访问)

  2. 下载 CA 证书(点击“CA Certificate”)

  3. 导入浏览器:

    • Chrome:设置 → 隐私 → 证书管理 → 导入

    • Firefox:设置 → 隐私与安全 → 证书 → 查看证书 → 导入

完成后,Burp 能无障碍抓取 HTTPS 请求(如登录请求)

=======================================

5.2 抓包与请求拦截

进入模块:

Proxy → Intercept

功能说明:

操作说明
Intercept is ON拦截浏览器请求,可手动查看与修改
Forward转发请求
Drop丢弃请求(可用于阻断恶意请求)
Send to Repeater发送请求到 Repeater 模块,便于手动测试
HTTP history查看历史请求,支持过滤、搜索

=======================================

5.3 手动风险点测试(Repeater 模块)

进入模块:

Repeater

操作流程:

  • 将请求右键 Send to Repeater

  • 在 Repeater 中手动修改参数进行测试:

    • 改参数名、值

    • 构造注入 payload

  • 点击 Send,查看返回响应 → 比较响应差异

常用于:

  • SQL 注入、XSS、逻辑风险点验证

  • 绕过身份验证

  • 对比正常与异常请求的不同

=======================================

5.4 爆破测试(Intruder 模块)

进入模块:

Intruder → Positions

功能与步骤:

  • 右键请求 → Send to Intruder

  • 设置攻击位置(${} 包围的参数)

  • 选择攻击模式:

模式说明
Sniper针对单个参数依次尝试
Cluster Bomb多参数组合测试(笛卡尔积)
Pitchfork多参数一对一测试
Battering Ram所有参数统一使用同一 payload
  • 加载字典(Common.txt、password.lst等)

  • 启动攻击,分析响应长度/状态码变化

=======================================

5.5 自动扫描(仅限 Burp Pro)

进入模块:

Dashboard → New Scan

或:

  • Proxy 请求右键 → Actively Scan

  • Target 树右键 → Scan this host

功能:

  • 被动扫描:分析你访问过的请求中的潜在风险点(无需手动触发)

  • 主动扫描:模拟各种攻击请求进行测试

可识别风险点类型:

  • SQLi、XSS、CSRF、命令注入、敏感信息泄露等

  • 提供详细风险点描述、请求响应内容、修复建议


六、实战演练

示例 1:登录爆破

场景:

目标系统有一个登录表单:

POST /login
username=admin&password=xxxxx

步骤:

  1. 代理拦截登录请求 → Send to Intruder

  2. Payload 设置:

    • 选择密码字段为位置参数(Payload Position)

    • 加载密码字典(如 rockyou.txt

  3. 启动攻击 → 查看响应差异:

    • 响应状态码不同

    • 响应体含有“Welcome” 等关键字

成功判断出正确密码。

=======================================

示例 2:SQL 注入测试

目标 URL:

GET /product?id=1

手动注入测试:

  • 改成:
/product?id=1' OR '1'='1
  • 拦截 → Send to Repeater → 发送请求

如果页面响应正常内容而非报错,说明可能存在 SQL 注入

更高级 payload 如:

1 AND SLEEP(5) -- (测试盲注)
1' ORDER BY 3 --

可配合 sqlmap 进一步自动化测试

=======================================

示例 3:XSS 检测

输入点:

http://site.com/search?q=hello

尝试 payload:

<script>alert(1)</script>

步骤:

  • 修改 URL 为:

/search?q=<script>alert(1)</script>
  • 拦截 → Send to Repeater → 发送请求

  • 查看返回页面中是否存在原样输出(未编码处理)

若弹窗或源码中出现 <script>alert(1)</script>,存在反射型 XSS

进阶 payload 示例:

"><img src=x onerror=alert(1)>
<svg/onload=alert(1)>

七、推荐靶场 & 练习平台

靶场/平台地址
DVWAhttps://github.com/digininja/DVWA
bWAPPhttps://sourceforge.net/projects/bwapp/
PortSwigger Labshttps://portswigger.net/web-security
WebGoathttps://owasp.org/www-project-webgoat/

八、总结

Burp Suite 是一个功能极其强大的 Web 安全测试平台,初学者可以从抓包和 Repeater 开始,逐步掌握 Intruder、Scanner、插件扩展等进阶功能。在实战中合理组合使用这些模块,能显著提升渗透效率与发现风险点的能力。

http://www.xdnf.cn/news/589501.html

相关文章:

  • 一键安装docker
  • Java 内存模型中的读、写屏障
  • 文化基因算法(Memetic Algorithm)详解:原理、实现与应用
  • 服务器磁盘按阵列划分为哪几类
  • MySQL8.0新特性:新特性深度应用解析
  • 【深度学习新浪潮】2025年谷歌I/O开发者大会keynote观察
  • 场景化应用实战系列五:互联网舆情检测
  • 技术分享 | MySQL大事务导致数据库卡顿
  • Java—— IO流 第三期
  • 使用 OpenCV 构建稳定的多面镜片墙效果(镜面反射 + Delaunay 分块)
  • MinerU教程第二弹丨MinerU 本地部署保姆级“喂饭”教程
  • Oracle 物理存储与逻辑管理
  • 偏微分方程数值方法指南及AI推理
  • 深入理解Diffusers: 从基础到Stable Diffusion
  • (07)数字化转型之产品材料管理:从基础数据到BOM的全生命周期管理
  • Basic concepts for seismic source - Finite fault model
  • 【 开源:跨平台网络数据传输的万能工具libcurl】
  • DOM API-JS通过文档对象树操作Doc和CSS
  • 【Linux 学习计划】-- makefile
  • shell脚本总结5
  • 当AI遇上科研:北大“科学导航”重塑学术探索全流程
  • LeetCode Hot100 (哈希)
  • x-cmd install | cargo-selector:优雅管理 Rust 项目二进制与示例,开发体验升级
  • OpenCV计算机视觉实战(7)——色彩空间详解
  • 网络图片的缓存和压缩
  • 海康相机---采集图像
  • 如何解决鸿蒙应用闪退问题
  • Flutter 3.32 新特性
  • 鸿蒙Flutter实战:21-混合开发详解-1-概述
  • flutter getx路由管理、状态管理、路由守卫中间件、永久储存get_storage