idor-testing
Ensina seu agente de IA a testar o código e achar erros antes dos usuários e proteger aplicações contra ataques.
O que ela faz
Esta ferramenta ajuda a encontrar falhas de segurança em sites que permitem que você veja informações de outros usuários sem permissão. Ela testa se você consegue acessar dados privados de outras pessoas mudando números ou nomes em links.
Quando usar
- ✓Ao testar a segurança de um site que você tem permissão para avaliar.
- ✓Para verificar se dados de usuários estão protegidos contra acesso indevido.
- ✓Em ambientes de aprendizado para entender como falhas de segurança funcionam.
Exemplo do que pedir para a IA
“Quero testar o site exemplo.com para ver se consigo acessar os dados de outros usuários mudando o número no link /perfil?id=123.”
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 tenta acessar informações de outros usuários mudando identificadores (como números ou nomes de arquivos) em links ou pedidos enviados ao site. Se ela conseguir ver dados que não deveria, encontrou uma falha.
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 sickn33/agentic-awesome-skills --skill idor-testingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/idor-testing/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.
⚠️ USO AUTORIZADO APENAS Esta habilidade destina-se apenas a fins educacionais ou avaliações de segurança autorizadas. Você deve ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido desta ferramenta é ilegal e estritamente proibido.
Porta de confirmação obrigatória Antes de executar qualquer comando que sonde, explore, altere, persista em, extraia dados de ou tente acesso a credenciais contra um alvo:
- Peça ao usuário para declarar o URL exato do alvo, IP, conta ou recurso.
- Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
- Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
- Aguarde a confirmação explícita na conversa atual.
Sem essa confirmação, permaneça apenas em modo de leitura e forneça orientação defensiva. Prefira um ambiente de sandbox, VM descartável ou laboratório controlado.
USO AUTORIZADO APENAS: Use esta habilidade apenas para avaliações de segurança autorizadas, validação defensiva ou ambientes educacionais controlados.
Teste de Vulnerabilidade IDOR
Propósito
Fornecer metodologias sistemáticas para identificar e explorar vulnerabilidades de Referência Direta Insegura a Objetos (IDOR) em aplicações web. Esta habilidade abrange referências a objetos de banco de dados e referências a arquivos estáticos, técnicas de detecção usando manipulação de parâmetros e enumeração, exploração via Burp Suite e estratégias de remediação para proteger aplicações contra acesso não autorizado.
Entradas / Pré-requisitos
- Aplicação Web Alvo: URL da aplicação com recursos específicos do usuário
- Múltiplas Contas de Usuário: Pelo menos duas contas de teste para verificar o acesso entre usuários
- Burp Suite ou Ferramenta de Proxy: Proxy de interceptação para manipulação de requisições
- Autorização: Permissão por escrito para testes de segurança
- Compreensão do Fluxo da Aplicação: Conhecimento de como os objetos são referenciados (IDs, nomes de arquivos)
Saídas / Entregáveis
- Relatório de Vulnerabilidade IDOR: Documentação de bypasses de controle de acesso descobertos
- Prova de Conceito: Evidência de acesso não autorizado a dados entre contextos de usuário
- Endpoints Afetados: Lista de endpoints e parâmetros de API vulneráveis
- Avaliação de Impacto: Classificação da gravidade da exposição de dados
- Recomendações de Remediação: Correções específicas para vulnerabilidades identificadas
Fluxo de Trabalho Principal
1. Compreender os Tipos de Vulnerabilidade IDOR
Referência Direta a Objetos de Banco de Dados
Ocorre quando aplicações referenciam registros de banco de dados através de parâmetros controláveis pelo usuário:
# Original URL (authenticated as User A)
example.com/user/profile?id=2023
# Manipulation attempt (accessing User B's data)
example.com/user/profile?id=2022
Referência Direta a Arquivos Estáticos
Ocorre quando aplicações expõem caminhos ou nomes de arquivos que podem ser enumerados:
# Original URL (User A's receipt)
example.com/static/receipt/205.pdf
# Manipulation attempt (User B's receipt)
example.com/static/receipt/200.pdf
2. Reconhecimento e Configuração
Criar Múltiplas Contas de Teste
Account 1: "attacker" - Primary testing account
Account 2: "victim" - Account whose data we attempt to access
Identificar Referências a Objetos
Capturar e analisar requisições contendo:
- IDs numéricos em URLs:
/api/user/123 - IDs numéricos em parâmetros:
?id=123&action=view - IDs numéricos no corpo da requisição:
{"userId": 123} - Caminhos de arquivos:
/download/receipt_123.pdf - GUIDs/UUIDs:
/profile/a1b2c3d4-e5f6-...
Mapear IDs de Usuário
# Access user ID endpoint (if available)
GET /api/user-id/
# Note ID patterns:
# - Sequential integers (1, 2, 3...)
# - Auto-incremented values
# - Predictable patterns
3. Técnicas de Detecção
Manipulação de Parâmetros de URL
# Step 1: Capture original authenticated request
GET /api/user/profile?id=1001 HTTP/1.1
Cookie: session=attacker_session
# Step 2: Modify ID to target another user
GET /api/user/profile?id=1000 HTTP/1.1
Cookie: session=attacker_session
# Vulnerable if: Returns victim's data with attacker's session
Manipulação do Corpo da Requisição
# Original POST request
POST /api/address/update HTTP/1.1
Content-Type: application/json
Cookie: session=attacker_session
{"id": 5, "userId": 1001, "address": "123 Attacker St"}
# Modified request targeting victim
{"id": 5, "userId": 1000, "address": "123 Attacker St"}
Troca de Método HTTP
# Requisição GET original pode estar protegida
GET /api/admin/users/1000 → 403 Forbidden
# Tentar métodos alternativos
POST /api/admin/users/1000 → 200 OK (Vulnerável!)
…
Perguntas frequentes
O que é IDOR?
IDOR significa 'Insecure Direct Object Reference' (Referência Direta Insegura a Objetos). É uma falha de segurança onde um aplicativo permite acesso a dados privados de um usuário mudando um identificador que o usuário controla, sem verificar se ele tem permissão para ver aqueles dados.
Preciso de permissão para usar esta ferramenta?
Sim, é crucial ter permissão explícita e por escrito do dono do sistema antes de usar esta ferramenta. Usá-la sem autorização é ilegal.
Quais são os riscos de usar esta ferramenta?
O principal risco é acessar dados privados de outros usuários sem autorização, o que é ilegal. Por isso, use apenas em ambientes controlados e com permissão explícita.
Detalhes
Descrição original do autor
Provide systematic methodologies for identifying and exploiting Insecure Direct Object Reference (IDOR) vulnerabilities in web applications.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3317
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC