// 红队渗透 · 2026-03-22

Burp Intruder 中所有 Payload 类型的使用详解

Burp Suite 是全球最受欢迎的 Web 应用安全测试平台之一,而 Burp Intruder 是其核心工具,用于自动化进行高度定制化的攻击。它通过在 HTTP 请求中预定义的位置(Payload Positions)插入不同的 Payload(载荷),反复发送请求,从而实现模糊测试(Fuzzing)、暴力破解(Brute Force)、参数枚举、数据提取等任务。

Intruder 的强大之处在于其 Payload 类型(Payload Type)的丰富选择。这些类型决定了载荷的生成方式:可以是简单词表、自动生成的数字/日期、排列组合、递归提取,甚至是针对特定加密场景的特殊处理。正确选择和配置 Payload 类型,能将攻击效率提升数十倍,同时避免内存溢出或请求爆炸。

根据 PortSwigger 官方文档,Burp Intruder 支持以下 18 种内置 Payload 类型(可在 Payloads 面板的下拉菜单中选择):

  • Simple list(简单列表)
  • Runtime file(运行时文件)
  • Numbers(数字)
  • Dates(日期)
  • Brute forcer(暴力生成器)
  • Null payloads(空载荷)
  • Character substitution(字符替换)
  • Case modification(大小写修改)
  • Custom iterator(自定义迭代器)
  • Recursive grep(递归 grep)
  • Illegal Unicode(非法 Unicode)
  • ECB block shuffler(ECB 块混洗器)
  • Bit flipper(位翻转器)
  • Character frobber(字符扰动器)
  • Username generator(用户名生成器)
  • Extension-generated(扩展生成)
  • Copy other payload(复制其他载荷)
  • Collaborator payloads(Collaborator 载荷)

此外,还有 预定义 Payload 列表(Predefined Payload Lists)可直接加载使用,支持占位符替换。

本文将逐一详细介绍每种类型的原理、配置选项及使用步骤。假设你已熟悉 Burp 基本操作(拦截请求 → Send to Intruder → 设置 Positions 和 Attack Type)。所有配置均在 Payloads 侧面板完成。建议结合 Payload Processing(载荷处理规则,如编码、添加前后缀)和 Resource Pools(资源池,控制并发)使用。


1. Simple list(简单列表)—— 最基础、最常用类型

描述:允许你手动配置一个字符串列表,每个字符串作为独立 Payload 依次使用。适合加载词典文件或自定义列表。

配置选项:

  • Paste:从剪贴板粘贴。
  • Load:从本地文件加载(一行一个 Payload)。
  • Add / Remove / Clear / Deduplicate(去重,提升效率)。
  • Add from list:加载预定义列表(如用户名、密码、Fuzz 字符串)。

使用步骤:

  1. 在 Positions 中标记好插入点(如用户名参数)。
  2. 选择 Attack Type 为 Sniper(单 Payload 集)。
  3. Payload Type 选 Simple list,Load 你的 rockyou.txt 或自定义列表。
  4. 可添加 Payload Processing(如 URL Encode)。

实际案例:

  • 目录爆破:加载 SecLists 的 common.txt,测试 /admin、/backup 等路径。结合 Battering Ram Attack Type 可同时 fuzz 多个路径。
  • SQL 注入模糊测试:列表包含 ’ OR 1=1–、’; DROP TABLE users;– 等,快速发现注入点。
  • 用户名枚举:加载常见用户名列表(admin、root、test),观察响应长度差异判断有效用户。

最佳实践:先用小列表测试(10-50 个),观察响应码/长度,再加载大词典。Deduplicate 可减少 20%+ 无效请求。预定义列表中的 “Fuzzing - quick” 非常实用。

注意:列表过大(>10万)建议切换 Runtime file 避免内存占用。

2. Runtime file(运行时文件)

描述:从指定文件实时逐行读取 Payload,适合超大型词典(百万级以上),避免全部加载到内存。

配置:仅需 Load 一个纯文本文件(一行一个 Payload,不含换行符)。

使用步骤:同 Simple list,但文件路径固定。攻击时 Intruder 逐行读取。

实际案例:

  • 弱密码破解:使用 10GB+ 的 rockyou-2021.txt,针对登录接口暴力破解。
  • API 参数枚举:超大 ID 列表(1-10000000),测试是否存在越权。

最佳实践:配合低并发 Resource Pool(1-5 线程),防止文件 IO 瓶颈。适合长时间攻击。

注意:文件必须是纯文本,Payload 不能含换行。

3. Numbers(数字)

描述:自动生成指定范围、步长、格式的数字 Payload,支持顺序或随机。

配置选项:

  • Number range:Type(Sequential/Random)、From、To、Step、How many。
  • Number format:Base(Decimal/Hex)、Min/Max integer digits、Min/Max fraction digits。

实际案例:

  • ID 遍历:From=100000 到 To=999999,Step=1,枚举用户 ID 找越权。
  • 金额测试:生成 0.01 到 9999.99,测试负数、溢出、越界支付漏洞。
  • 随机生成:How many=5000,测试随机 token 碰撞。

最佳实践:大范围数字用 Positions 只标记子部分(如 12 位 ID 中的后 6 位),避免浮点精度丢失。结合 Payload Processing 添加前缀(如 user_id=)。

注意:超过 12 位数字建议拆分生成。

4. Dates(日期)

描述:生成日期范围内的 Payload,支持自定义格式。

配置:

  • From / To(起始结束日期)。
  • Step(天/周/月/年)。
  • Format(预设或自定义,如 yyyy-MM-dd、dd/MM/yy)。

实际案例:

  • 生日爆破:From=1950-01-01 到 2005-12-31,格式 MMddyyyy,测试密码重置。
  • 订单日期遍历:枚举历史订单,挖掘数据泄露。

最佳实践:结合 Case modification 生成大小写变体日期。Step 设为 1 天可覆盖全范围。

5. Brute forcer(暴力生成器)

描述:生成指定长度范围内、字符集所有排列组合的 Payload(指数级增长)。

配置:

  • Character set(字符集,如 a-z0-9)。
  • Min length / Max length。

实际案例:

  • 短密码破解:长度 1-4,字符集 a-z0-9,爆破 4 位验证码。
  • Token 后缀:长度 2-3,字符集 hex,测试 session token。

最佳实践:仅用于短长度(Max 5),否则 Payload 数量爆炸(26^6=308M+)。配合 Cluster Bomb 攻击多位置。

注意:字符集越大、长度越长,请求量呈指数增长,先小范围测试。

6. Null payloads(空载荷)

描述:生成空字符串 Payload(“”),可重复发送原始请求。

配置:指定数量或无限。

实际案例:

  • Session 保持:无限 Null Payload 保持 Cookie 活跃,同时用其他工具测试。
  • DoS 测试:重复发送高负载请求(如导出报表)。
  • Cookie 序列分析:重复请求收集响应头。

最佳实践:与 Pitchfork Attack Type 结合其他 Payload 使用。适合应用层 DoS 验证。

注意:无需标记 Positions。

7. Character substitution(字符替换)

描述:对列表中每个字符串应用字符替换(如 leetspeak),生成所有排列。

配置:定义替换规则(如 e→3、t→7、a→@)。

实际案例:

  • 密码变体:基础词 “password”,替换生成 p@ssw0rd、p455w0rd 等,绕过弱密码策略。
  • XSS 绕过:替换 < 为 %3C 等。

最佳实践:基础列表用 Simple list 提供,替换规则 5-10 个即可。Payload 数量 = 基础项 × 排列数。

8. Case modification(大小写修改)

描述:对列表项应用大小写变体(全小写、全大写、首字母大写等)。

配置:勾选 No change / To lower / To upper / To Propername / To ProperName。

实际案例:

  • 密码大小写绕过:基础 “Admin”,生成 admin、ADMIN、Admin 等。
  • 文件名测试:Linux/Windows 路径大小写敏感性。

最佳实践:自动去重。适合与 Character substitution 组合使用。

9. Custom iterator(自定义迭代器)

描述:根据模板生成多位置排列组合(最多 8 位),支持预设方案。

配置:

  • 最多 8 个位置,每个位置设置字符列表 + 分隔符。
  • Preset schemes:Directories / file extensions、Two-digit hex、Passwords + digit。

实际案例:

  • 工号枚举:模板 AA/11,位置1-2=A-Z,位置3-4=0-9,生成 AB/01 到 ZZ/99。
  • URL 生成:预设方案生成 /admin/backup.php 等。

最佳实践:用预设方案快速起步。注意 Payload 总数 = 各位置项数乘积。

10. Recursive grep(递归 grep)

描述:从上一个响应中提取内容作为下一个 Payload,实现递归提取。

配置:

  • Initial payload(首次 Payload)。
  • Extract grep item(定义提取规则)。
  • Stop if duplicate payload found。

要求:Resource Pool 并发必须设为 1。

实际案例(经典 SQLi 枚举):

  • 请求:UNION SELECT name FROM sysobjects WHERE name > ‘[PAYLOAD]’
  • Initial=‘a’,Extract grep 从错误消息提取下一个对象名。
  • 自动枚举所有数据库表/列。

最佳实践:配合 Grep-Extract 设置正则。用于数据库枚举、文件遍历等链式攻击。

注意:必须单线程,否则循环错误。

11. Illegal Unicode(非法 Unicode)

描述:将指定字符替换为非法 Unicode 编码(过长 UTF-8、非法延续字节、非法 hex),绕过过滤器。

配置:Overlong UTF-8、Do illegal UTF-8、Maximize permutations、Do illegal hex、% 前缀等。

实际案例:

  • 路径遍历绕过:列表 ../* ,将 * 替换为 / 的非法编码,绕过 WAF。
  • XSS 绕过:非法编码 < > 等。

最佳实践:用 Match/Replace 指定占位符字符。Total encodings 可预估数量。

12. ECB block shuffler(ECB 块混洗器)

描述:对 ECB 加密数据块进行重排,改变解密后明文结构。

配置:

  • Encrypted data to shuffle。
  • Format(literal 或 ASCII hex)。
  • Block size(8/16 字节)。
  • Additional encrypted strings(提供更多块)。

实际案例:

  • Session token 篡改:已知 ECB 加密的 token,混洗 username/role 块,实现权限提升。

最佳实践:先收集大量同密钥加密样本。结合 Bit flipper 测试。

注意:仅适用于 ECB 模式(不安全加密)。

13. Bit flipper(位翻转器)

描述:逐位翻转输入的每个比特,生成变体。

配置:

  • Operate on(base 或指定字符串)。
  • Format(literal 或 ASCII hex)。
  • Select bits to flip(选择翻转哪些位)。

实际案例:

  • CBC 加密篡改:翻转前一块密文比特,影响下一块明文,实现登录绕过。

最佳实践:与 Character frobber 配合使用,精细控制。

14. Character frobber(字符扰动器)

描述:逐字符将 ASCII 值 +1,测试参数敏感部分。

配置:无额外,仅 Operate on base 或字符串。

实际案例:

  • Session token 测试:逐字符扰动,观察哪些位影响状态(非 session 相关字符无变化)。

最佳实践:用于黑盒逆向参数含义。

15. Username generator(用户名生成器)

描述:从姓名/邮箱生成常见用户名方案变体(最多 115 种)。

配置:基础列表(姓名),Max payloads per item。

实际案例:

  • 针对性枚举:输入 “peter wiener”,生成 peterw、wienerp、p.wiener 等。

最佳实践:配合密码列表做组合攻击。

16. Extension-generated(扩展生成)

描述:调用 Burp 扩展提供的自定义 Payload 生成器。

配置:Select generator(需安装支持 Intruder Payload Generator 的扩展)。

实际案例:使用社区扩展生成 XSS Payload 或自定义 fuzz 字符串。

最佳实践:扩展开发时注册为 Intruder payload provider。

17. Copy other payload(复制其他载荷)

描述:将当前 Payload 复制到另一个位置。

配置:选择复制来源位置。

实际案例:

  • 密码确认字段:新密码与确认密码必须相同,用 Cluster Bomb + Copy 同步。
  • Checksum 字段:复制后用 Processing 计算校验和。

最佳实践:结合 Payload Processing 实现动态计算。

18. Collaborator payloads(Collaborator 载荷)

描述:生成 Burp Collaborator 唯一标识 Payload,用于 OOB(Out-of-Band)漏洞检测。

配置:Include Collaborator server location(可选全域名)。

实际案例:

  • SSRF / XXE / SQLi OOB:注入 Collaborator 子域,监控 DNS/HTTP 交互。
  • 盲注:通过 Collaborator 确认漏洞存在。

最佳实践:攻击结果窗口直接查看交互(或 Dashboard Event log)。保存攻击后长期监控。

预定义 Payload 列表(Predefined Payload Lists)补充

Burp 内置大量实用列表(如 Fuzzing - full、Path traversal、CGI Scripts)。使用 “Add from list” 加载,支持 {file}、{domain}、{base} 等占位符。通过 Payload Processing 的 Match/Replace 替换占位符(如 {domain}→你的 Collaborator 域)。可自定义列表目录(Settings 中配置)。

Payload Processing 规则

无论哪种类型,都可叠加处理规则(Add prefix/suffix、Match/replace、Encode/Decode、Hash、Skip if matches regex 等)。例如:对所有 Payload 添加 URL Encode,或跳过含 <script> 的 XSS 测试。

最佳实践与注意事项

  • Attack Type 搭配:Sniper(单位置)、Battering Ram(多位置同 Payload)、Pitchfork(多位置同步)、Cluster Bomb(全排列)。
  • 资源池:Recursive grep 必须 1 并发;大攻击设 5-20 线程。
  • 结果分析:用 Grep - Match/Extract、Response length、Status code 过滤。导出 CSV 进一步分析。
  • 性能:大 Payload 列表用 Runtime file + 低速率;随机类型防 WAF。
  • 伦理与法律:仅在授权环境下使用。
  • 进阶:结合 Extensions(如自定义 Generator)或 Collaborator 实现自动化 OOB 检测。

原文 https://blog.csdn.net/2301_79518550/article/details/159350799