Resource Pool 参数详解及其在条件竞争漏洞中的作用

1. Resource Pool 的核心参数

Resource Pool 用于控制攻击时的资源分配和请求节奏,以下是关键参数及其作用:


a. 最大并发请求数(Maximum concurrent requests)
  • 功能:控制同时发送的请求数量。
  • 条件竞争中的作用
    • 高并发:设置较高的并发数(如 50~100),可同时触发大量请求,增加竞争条件的触发概率(例如:同时修改同一账户余额)。
    • 默认值问题:默认的 10 并发可能不足以触发某些敏感竞争漏洞,需根据目标系统承载能力调整。

b. 请求延迟(Delay between requests)
  • 功能:定义每次请求之间的间隔时间(单位:毫秒)。
  • 条件竞争中的作用
    • 零延迟(0ms):禁用延迟,请求连续发送,最大化并发压力,适合测试服务器在高并发下的异常行为。
    • 固定延迟(Fixed):若必须设置延迟,应尽可能小(如 10ms),避免因间隔过长导致竞争窗口关闭。

c. 随机延迟(Random variations)
  • 功能:在固定延迟基础上增加随机波动(例如:固定 50ms + 随机 ±20ms)。
  • 条件竞争中的作用
    • 规避简单速率限制:随机化请求间隔,绕过基于固定频率的防御规则(如 WAF 的请求速率检测)。

d. 延迟增量(Increase delay in increments)
  • 功能:每次请求后逐步增加延迟(例如:初始 10ms,每次增加 5ms)。
  • 条件竞争中的作用
    • 平衡攻击与隐蔽性:初期高并发快速触发竞争,后续逐步减缓,避免因持续高压被封锁。

e. 自动限速(Automatic throttling)
  • 功能:根据服务器响应(如 429/503 状态码)自动调整请求速率。
  • 条件竞争中的作用
    • 维持攻击持续性:当服务器返回限速状态码时,自动降低请求频率,避免被彻底封禁,延长攻击窗口期
    • 自定义状态码(CSV):可针对特定错误码(如 504)调整策略,适应目标系统的独特响应。