Burp Suite 高并发重放测试的三种实战方法详解
字数 2216 2025-08-29 22:41:32
Burp Suite 高并发重放测试的三种实战方法详解
声明
本文所述内容仅用于技术研究与学习目的。请勿将文中技术用于任何未授权的渗透测试或违法活动,因不当使用所引发的一切后果由使用者自行承担。
前言
在渗透测试过程中,高并发方式向目标系统发送大量请求可以绕过一些行为限制。例如,在短信验证码接口中可能存在"一分钟内每个手机号只能请求一次"的限制,此时可以通过高并发手段突破此类防护机制。
方法一:Turbo Intruder 插件
原理
Turbo Intruder 是由 PortSwigger 官方开发的 Burp 插件,基于 Jython 实现,底层利用 Java 的 NIO(非阻塞 I/O)机制,可在极短时间内完成大量请求的发送。该插件支持复杂逻辑编排和响应处理,能够在数秒内发出上万请求。
使用方法
- 账户余额无法购买商品时
- 核销优惠券时拦截数据包,发至 Turbo Intruder 插件
- 调整脚本进行高并发重放
- 最终以低价成功购买
关键脚本参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| endpoint | 是 | string | 请求目标的主机和端口 |
| concurrentConnections | 是 | int | 并发连接数 |
| requestsPerConnection | 是 | int | 每个连接上发送的请求数量 |
| engine | 否 | string | 请求发送引擎(如BURP、BURP2、THREADED) |
| pipeline | 否 | bool | 是否启用 HTTP pipelining(仅适用于 HTTP/1.1) |
注意:使用 gate 标签(如gate='race1')可以将多个请求暂存,等openGate('race1')被调用时一并发出,实现高并发的效果。
方法二:Last-byte Synchronization technique
原理
Last-byte synchronization 是一种经典的并发利用技术,其核心思想是将每个 HTTP 请求分为两个部分发送:
- 大部分内容作为"请求头部"
- 最后一个字节作为"触发器"
攻击者先将所有请求的"请求头部"发送到服务器,使服务器处于阻塞等待状态(未接收完整请求)。待所有请求就绪后,再同时发送最后一个字节,使服务器在几乎同一时刻处理所有请求,从而可能绕过某些并发判断逻辑或竞争条件。
适用协议分析
| 协议 | 是否支持 | 说明 |
|---|---|---|
| HTTP/1.1 | 支持 | 允许精确控制字节流 |
| HTTP/2 | 不支持 | 由于帧封装和多路复用,无法实现字节级控制 |
使用方法(Burp Suite 2023.9+)
- 创建一个组,用于存放高并发的请求
- 在组内添加高并发的请求(如创建10个高并发请求)
- 选择高并发技术(对于HTTP1.1协议选择Last-byte synchronization)
- 点击"send group (parallel)"即可高并发访问
方法三:Single-packet Attack technique
原理
Single-packet attack 是指将多个 HTTP 请求拼接在一个 TCP 包中发送,从而实现"一包多请求"的效果。该方法依赖于:
- HTTP/1.1 的 pipelining 特性(串行无等待发送多个请求)
- HTTP/2 的多路复用机制
适用协议分析
| 协议 | 是否支持 | 说明 |
|---|---|---|
| HTTP/1.1 | 支持 | 需开启 pipelining |
| HTTP/2 | 支持 | 多路复用天然支持并行请求发送 |
使用方法(Burp Suite 2023.9+)
- 创建一个组,用于存放高并发的请求
- 在组内添加高并发的请求(如创建20个高并发请求)
- 选择高并发技术(对于HTTP2协议选择Single-packet Attack Technique)
- 点击"send group (parallel)"即可高并发访问
技术对比总结
| 技术 | 并发方式 | 适用协议 | 特点 |
|---|---|---|---|
| Turbo Intruder | 使用线程/引擎高并发 | HTTP/1.1 & HTTP/2 | 简单高效、可脚本化,需要安装插件 |
| Last-byte Sync | 拆分字节延迟发送 | HTTP/1.1 | Burp Suite 2023.9+支持,无需插件 |
| Single-packet Attack | 拼接请求包同时发出 | HTTP/1.1 & HTTP/2 | Burp Suite 2023.9+支持,无需插件 |
实战案例
以Burp Suite官方靶场《Lab: Limit overrun race conditions》为例:
- 目标:购买价值\(1337的商品,使用20%折扣优惠券(用户账户只有\)50)
- 常规思路无法完成购买
- 通过高并发操作可成功完成低价购买