race-condition

Tests web applications for race condition and TOCTOU vulnerabilities using concurrent request techniques.

Updated Sep 17, 2026
One-click install
npx skills add https://github.com/karenrebecag/spec-driven-standards --skill race-condition-karenrebecag
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: race-condition
Source: https://github.com/karenrebecag/spec-driven-standards/tree/main/plugins/security/skills/offensive-race-condition
Command: npx skills add https://github.com/karenrebecag/spec-driven-standards --skill race-condition-karenrebecag

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Web applications often fail to synchronize concurrent operations, allowing attackers to bypass business logic through race conditions like double-spending, coupon reuse, or rate limit bypass. This Skill provides a structured testing methodology to identify and exploit these timing-based vulnerabilities during authorized security assessments. ## Core Features & Use Cases - Concurrent Request Testing: Send parallel requests using Burp Suite Turbo Intruder, single-packet attacks, and last-byte sync techniques to detect TOCTOU windows. - Multi-Layer Coverage: Test race conditions across APIs, WebSockets, GraphQL, gRPC, serverless functions (AWS Lambda, GCP, Azure), databases, and CI/CD pipelines. - Use Case: During a bug bounty engagement, you find a coupon redemption endpoint. Use this Skill to craft 20 simultaneous redemption requests with Turbo Intruder's gate mechanism and verify whether a single-use coupon can be applied multiple times. ## Quick Start Ask the AI to walk you through testing a specific endpoint for race conditions using the checklist methodology.

Frequently Asked Questions about race-condition

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test for race conditions in web applications?

Identify state-changing endpoints like payments or coupon redemption, then send 10-100 identical requests simultaneously using Burp Suite's single-packet attack or Turbo Intruder. Compare the resulting application state against expected behavior to detect double-processing.

What tools are used for race condition testing?

Burp Suite Repeater (2023.9+) with Send Parallel mode and Turbo Intruder are the primary tools. Alternatives include Racepwn, Race-the-Web, and custom scripts using Python threading, asyncio, or Go goroutines for synchronized request floods.

What is the single-packet attack in Burp Suite?

The single-packet attack uses HTTP/2 multiplexing to deliver multiple requests within microseconds, achieving under 4ms skew. It completes all request bytes in one TCP packet, eliminating network jitter that ruins traditional multi-threaded race attempts.

Can race conditions bypass rate limits and CAPTCHAs?

Yes, concurrent login or OTP requests can hit shared counters before they increment, allowing more attempts than intended. Test global versus per-user versus per-IP buckets with both burst and sustained parallel request patterns.

Why do race condition tests fail to reproduce?

Races are timing-dependent, so network latency, server load, and session locking (like PHP session file locks) reduce success rates. Use multiple sessions, minimize latency with a nearby VPS, and repeat attacks with varying concurrency levels.

Are serverless functions like AWS Lambda vulnerable to race conditions?

Yes, concurrent Lambda invocations can process the same event in parallel, enabling coupon reuse or double redemption. Test with ThreadPoolExecutor invoking the function 50 times simultaneously and check whether DynamoDB conditional writes or idempotency keys prevent duplication.