# Pentest Race Conditions

> Concurrency exploitation — race conditions, TOCTOU vulnerabilities, and parallel request abuse in web applications.

- Skill: `jd-opensource/pentest-race-conditions` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add jd-opensource/pentest-race-conditions`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jd-opensource/pentest-race-conditions/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jd-opensource (https://skillmd.com/u/jd-opensource)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jd-opensource/pentest-race-conditions

---


# Pentest Race Conditions

## Purpose
Exploit applications that fail to handle concurrent requests atomically — enabling double-spend, limit bypass, privilege escalation through parallel requests. Absent from standard WSTG categories but critical in real-world assessments.

## Prerequisites

### Authorization Requirements
- **Written authorization** with explicit scope for concurrency testing
- **Test accounts** with balances, quotas, or limited-use resources
- **Rollback plan** for financial or state-mutating operations
- **Rate limit awareness** — confirm acceptable burst volume with target owner

### Environment Setup
- Burp Suite Professional with Turbo Intruder extension
- Python 3.x with asyncio/aiohttp for parallel request scripting
- GNU parallel or xargs for shell-based concurrency
- Multiple authenticated sessions (separate cookies/tokens)

## Core Workflow
1. **Target Identification**: Identify race-prone operations — balance transfers, coupon redemption, inventory purchase, vote/like systems, token generation, file operations.
2. **Single-Endpoint Races**: Send N identical requests simultaneously to bypass "one per user" limits, duplicate transactions (limit-overrun).
3. **Multi-Endpoint TOCTOU**: Exploit time gap between check and use — validate coupon then apply coupon, check balance then debit.
4. **Session-Level Races**: Parallel password change + session refresh, simultaneous role change + action execution.
5. **Database-Level Races**: Exploit missing row-level locks, test optimistic vs pessimistic concurrency, trigger deadlocks.
6. **Timing Synchronization**: Use single-packet attack technique (Turbo Intruder) to synchronize requests within microseconds.
7. **Impact Documentation**: Document financial/operational impact with precise reproduction steps and timing requirements.

## Tool Categories

| Category | Tools | Purpose |
|----------|-------|---------|
| Timing Attacks | Turbo Intruder, race-the-web | Microsecond-synchronized parallel requests |
| Async Scripting | Python asyncio/aiohttp, httpx | Custom race condition scripts |
| Shell Concurrency | GNU parallel, xargs, curl | Quick parallel request testing |
| Proxy Analysis | Burp Suite Repeater | Request replay and timing observation |
| Database Monitoring | pg_stat_activity, SHOW PROCESSLIST | Observe lock contention and deadlocks |

## References
- `references/tools.md` - Tool function signatures and parameters
- `references/workflows.md` - Attack pattern definitions and test vectors

