Agent Skills
返回列表
🤖

竞态条件检测

AI Agent 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/race-condition-sh-6od8dm

技能介绍

为什么需要关注竞态条件

Web 应用的安全测试往往关注认证绕过、SQL 注入等经典漏洞,但一类更隐蔽的问题常常被忽略:竞态条件(Race Condition),尤其是 TOCTOU(Time-of-Check to Time-of-Use) 漏洞。当应用在两次操作之间(例如检查余额后执行转账)存在时间窗口时,攻击者可以通过并发请求利用这个间隙,实现重复消费、越权操作或绕过速率限制。传统手工测试很难复现这类问题,因为需要精确控制并发请求的到达顺序和时机,而单个请求的响应延迟可能完全掩盖漏洞的存在。

这个技能如何工作

该技能提供了一套系统化的竞态条件测试方法论,其核心不是简单地发送并发请求,而是建立完整的检查清单,引导测试者逐步识别和验证潜在的时间窗口。

核心能力包括:

  • 时间窗口识别:通过分析应用逻辑和请求序列,定位可能存在竞态的关键代码路径(如状态检查、权限验证、库存扣减等)。
  • Burp Suite Turbo Intruder 实战:利用 Turbo Intruder 的高级功能构造并发请求,特别是 Last-Byte 同步技术——通过控制请求发送的最后一个字节的时机,使多个请求在服务端几乎同时到达,最大化利用短暂的时间窗口。
  • 绕过速率限制:许多应用的速率限制只统计单位时间内的请求数,但如果并发请求同时到达,可能在限制生效前就完成了操作,从而绕过限制。
  • 双花攻击与并发利用:针对涉及资金、优惠券、配额等敏感操作的场景,验证是否可以通过并发请求实现重复消费或超额使用。
  • 系统性执行流程:技能会引导你按顺序执行以下步骤,确保不遗漏关键环节:

1. 加载并应用完整的方法论作为操作检查清单。
2. 除非用户另有说明,否则按顺序执行步骤。
3. 对于每种技术,考虑其在当前目标/上下文中的适用性。
4. 跟踪已完成的检查清单项目。
5. 根据发现建议下一步操作。

适用边界与注意事项

这套方法论主要面向安全测试场景,特别是漏洞赏金(bug bounty)中的竞态条件漏洞挖掘,以及 Web 应用安全审计。它要求测试者已经具备一定的 Burp Suite 使用经验,尤其是 Turbo Intruder 的基本操作。技能本身不提供自动化攻击工具,而是作为一套操作指南,帮助你系统性地思考和验证竞态条件。

需要注意的是,竞态条件测试必须在合法授权的范围内进行。由于这类测试可能涉及并发请求的频繁发送,务必确保不会对目标系统造成不必要的压力或干扰。此外,并非所有应用都适合进行此类测试——对于高并发、分布式架构的系统,某些竞态可能已经被架构设计所缓解,测试时应结合应用实际情况判断。

通过将这套检查清单融入安全测试流程,可以显著提升竞态条件漏洞的发现率,尤其是在处理需要精确时序控制的边界情况时。

使用场景

  • 在授权渗透测试中,针对转账或兑换流程,检查余额校验后是否可并发重复扣款
  • 对 Web 应用做安全审计时,排查验证码发送、校验或权限检查是否存在 TOCTOU 时间窗口
  • 验证 API 速率限制时,用并发请求确认同一账号或设备能否绕过单位时间请求数限制
  • 测试优惠券、库存或积分领取流程时,检查多个并发请求能否同时通过校验并重复使用

适合人员

  • 授权渗透测试工程师,需要在黑盒测试中系统排查竞态条件和 TOCTOU 漏洞
  • 漏洞赏金猎人,需要在提交报告前验证并发请求导致的重复消费或速率限制绕过
  • 应用安全审计人员,需要在代码或接口测试阶段确认关键业务的状态校验是否存在时间窗口
  • 后端开发工程师,需要在上线前验证转账、扣库存、发券等敏感操作是否可被并发利用