用途
本技能用于在 Web 应用安全测试中检测并利用竞态条件(Race Condition)漏洞,重点采用 Turbo Intruder 的单包攻击(single-packet attack)技术。资料明确指出其适用时机包括:测试具有事务性功能的应用(支付、转账、优惠券);评估限流或尝试次数限制机制;测试多步骤工作流(注册、密码重置、MFA);在漏洞赏金中寻找状态变更操作的逻辑缺陷;评估具有库存或余额管理系统的应用。
主要能力与关键概念
资料列出以下关键概念:TOCTOU(Time-of-Check-to-Time-of-Use,即检查与使用之间状态被改变)、单包攻击(将多个 HTTP/2 请求放入一个 TCP 包以实现精确同步)、Last-Byte Sync(HTTP/1.1 技术,保留多个请求的最后一个字节并同时释放)、限额绕过(Limit Overrun,利用验证逻辑中的竞态窗口突破一次性限制)、隐藏状态机(利用多步骤工作流中的过渡状态)、Gate 机制(Turbo Intruder 特性,持有请求直到全部排队后同时释放)、连接预热(预建立连接以降低网络抖动)。
使用方式
资料给出分步骤工作流。
第 1 步——识别竞态条件攻击面。常见目标包括优惠券/折扣码核销(每用户限 1 次)、账户余额转账、库存购买(限量库存)、限流操作(登录尝试、短信验证)、多步骤工作流(改邮箱 + 密码重置)、文件上传与处理流水线。操作方式为在 Burp Suite 中捕获目标请求并发送到 Turbo Intruder(Extensions > Turbo Intruder > Send to Turbo Intruder)。
第 2 步——在 Turbo Intruder 中配置单包攻击。示例脚本使用 RequestEngine,设置 concurrentConnections=1、engine=Engine.BURP2,通过 gate='race1' 排队 20 个相同请求,然后调用 engine.openGate('race1') 释放。
第 3 步——执行限额绕过攻击。示例中将 requestsPerConnection 设为 50,排队 50 个优惠券核销请求,并在 handleResponse 中对 status == 200 的成功核销进行标记。
第 4 步——利用跨端点竞态条件。示例同时发送两个请求:一个用于将邮箱改为 attacker@evil.com 的请求,另一个用于触发发送至原始邮箱的密码重置请求,二者以同一 gate 释放。
第 5 步——使用 Python threading 替代方案。示例使用 threading.Barrier(20) 同步 20 个线程,全部等待后同时发送 requests.post 请求。
第 6 步——分析结果并确认利用。在 Turbo Intruder 结果中按状态码排序以识别成功请求,比较响应长度以发现异常,检查是否有多于一个请求成功(确认限额绕过),验证后端状态(余额、库存、优惠券数量)。资料给出的时序参考:HTTP/2 单包攻击约 30 秒可发现,Last-Byte Sync(HTTP/1.1)约需 2 小时以上,基于线程的方法耗时不定且可靠性较低。
工具与系统
资料列出的工具包括:Turbo Intruder(Burp Suite 扩展,用于高速竞态条件利用)、Burp Suite Repeater(Group send 功能,用于基础竞态测试)、Nuclei(带竞态条件检测模板的模板化扫描器)、Python threading(自定义多线程脚本)、racepwn(专用竞态条件测试框架)、asyncio/aiohttp(Python 异步 HTTP 并发发送)。
常见场景
资料列出:优惠券双重消费(在服务器标记已用前并发发送核销请求)、余额透支(并发转账请求均通过余额检查)、MFA 绕过(同时提交多个验证码以绕过验证尝试限流)、库存操纵(利用库存扣减逻辑竞态购买超过库存的商品)、账号注册绕过(用同一邮箱并发提交注册请求创建多个账号)。
评估报告输出格式
资料给出报告模板,包含目标、技术、并发请求数、成功利用次数,以及 Findings 表格(编号、端点、操作、预期、实际、严重级别),示例中列出单次使用优惠券实际核销 4 次(High)与余额转账实现透支(Critical)。报告还包含竞态窗口分析(HTTP/2 单包约 30 秒内可靠利用、每批 20 请求成功率约 20%、竞态窗口估计 50-100ms)与修复建议(在关键操作上实现数据库级锁 SELECT FOR UPDATE、使用带版本号的乐观并发控制、对状态变更请求使用幂等键、在多服务器环境实现分布式锁)。
前提条件
使用该技能需要:安装 Turbo Intruder 扩展的 Burp Suite Professional;理解 HTTP/2 单包攻击技术;具备编写自定义 Turbo Intruder 脚本的 Python 能力;了解 TOCTOU 漏洞;存在具有状态变更操作(购买、投票、转账)的目标应用;用于测试跨用户竞态条件的多个用户账号。
限制
资料未提供关于该技能的法律授权范围、适用范围之外的具体限制、各工具的价格与平台支持等信息的进一步说明。