testing-for-broken-access-control
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 verifica se um site ou aplicativo permite que usuários com permissões menores acessem informações ou funções que deveriam ser restritas. Ela procura por falhas de segurança que podem deixar dados expostos.
Quando usar
- ✓Ao testar a segurança de um site ou aplicativo com permissão.
- ✓Ao verificar se diferentes tipos de usuários (ex: administrador, cliente) têm acesso correto.
- ✓Ao garantir que um aplicativo que atende a várias empresas não misture os dados delas.
Exemplo do que pedir para a IA
“Verifique se há controle de acesso quebrado no site de teste.”
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 com uma extensão chamada Authorize. Ela simula diferentes tipos de usuários para ver se eles conseguem acessar coisas que não deveriam.
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 testing-for-broken-access-controlOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/testing-for-broken-access-control/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.
Testando Controle de Acesso Quebrado
Quando Usar
- Durante testes de penetração autorizados como a avaliação principal para OWASP A01:2021 - Controle de Acesso Quebrado
- Ao avaliar implementações de controle de acesso baseado em função (RBAC) em todos os endpoints da aplicação
- Para testar aplicações multi-inquilino onde usuários de uma organização não devem acessar os dados de outra
- Ao avaliar endpoints de API em busca de verificações de autorização ausentes ou inconsistentes
- Durante auditorias de segurança onde escalonamento de privilégios e acesso não autorizado são preocupações primárias
Pré-requisitos
- Autorização: Acordo escrito de teste de penetração para o alvo
- Burp Suite Professional: Com a extensão Authorize para testes automatizados de controle de acesso
- Múltiplas contas de teste: Contas em cada nível de função (administrador, gerente, usuário, convidado)
- Matriz de funções da aplicação: Documentação do que cada função deve e não deve acessar
- curl/httpie: Para testes manuais de endpoints com diferentes contextos de autenticação
- ffuf: Para descobrir endpoints ocultos que podem não ter controles de acesso
Fluxo de Trabalho
Passo 1: Mapear Todos os Endpoints e Criar Matriz de Controle de Acesso
Documente cada endpoint e o nível de acesso esperado para cada função.
# Extract all endpoints from Burp Site Map
# Target > Site Map > Right-click > Copy URLs in this host
# Build a matrix of endpoints vs roles:
# | Endpoint | Admin | Manager | User | Guest |
# |-----------------------|-------|---------|------|-------|
# | GET /admin/dashboard | Allow | Deny | Deny | Deny |
# | GET /api/users | Allow | Allow | Deny | Deny |
# | PUT /api/users/{id} | Allow | Deny | Own | Deny |
# | DELETE /api/posts/{id} | Allow | Allow | Own | Deny |
# Discover hidden endpoints
ffuf -u "https://target.example.com/FUZZ" \
-w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt \
-mc 200,301,302,403 -fc 404 \
-H "Authorization: Bearer $USER_TOKEN" \
-o endpoints.json -of json
# API endpoint discovery
ffuf -u "https://target.example.com/api/v1/FUZZ" \
-w /usr/share/seclists/Discovery/Web-Content/api/api-endpoints.txt \
-mc 200,201,204,301,302,401,403,405 -fc 404 \
-H "Authorization: Bearer $USER_TOKEN"
Passo 2: Configurar Testes Automatizados de Controle de Acesso
Configure a extensão Burp Authorize para testes paralelos baseados em função.
# Install Authorize extension:
# Burp > Extender > BApp Store > Search "Authorize" > Install
# Configuration for three-tier testing:
# 1. Browse the application as Admin (capture all requests)
# 2. In Authorize tab:
# a. Add Regular User's session token in "Replace cookies/headers"
# b. Optionally add a second row for Unauthenticated (no auth header)
# Example header replacement setup:
# Row 1 (Low-privilege user):
# Cookie: session=low_priv_user_session
# Authorization: Bearer low_priv_token
#
# Row 2 (Unauthenticated):
# [Empty - removes all auth headers]
# Enable interception in Authorize:
# - Check "Intercept requests from Proxy"
# - Check "Intercept requests from Repeater"
# Authorize shows results as:
# Green = Properly restricted (different response for different user)
# Red = POTENTIALLY VULNERABLE (same response regardless of role)
# Orange = Uncertain (needs manual verification)
Passo 3: Testar Escalonamento Vertical de Privilégios
Tente acessar funcionalidades de privilégio mais alto com contas de privilégio mais baixo.
# Coletar tokens para cada função
ADMIN_TOKEN="Bearer admin_jwt_here"
MANAGER_TOKEN="Bearer manager_jwt_here"
USER_TOKEN="Bearer user_jwt_here"
# Testar endpoints de administrador com token de usuário
ADMIN_ENDPOINTS=(
"GET /admin/dashboard"
"GET /admin/users"
"POST /admin/users/create"
"PUT /admin/settings"
"DELETE /admin/users/5"
"GET /admin/logs"
"GET /admin/reports/export"
"POST /admin/backup"
)
for entry in "${ADMIN_ENDPOINTS[@]}"; do
method=$(echo "$entry" | cut -d' ' -f1)
endpoint=$(echo "$entry" | cut -d' ' -f2)
echo -n "$method $endpoint (como usuário): "
status=$(curl -s -o /dev/null -w "%{http_code}" \
-X "$method" \
-H "Authorization: $USER_TOKEN" \
-H "Content-Type: application/json" \
"https://target.example.com$endpoint")
if [ "$status" == "200" ] || [ "$status" == "201" ]; then
echo "VULNERÁVEL ($status)"
else
echo "OK ($status)"
fi
done
# Testar com cabeçalhos de substituição de método
curl -s -o /dev/null -w "%{http_code}" \
-X POST \
-H "Authorization: $USER_TOKEN" \
-H "X-HTTP-Method-Override: DELETE" \
…
Perguntas frequentes
Preciso de permissão para usar esta ferramenta?
Sim, você precisa de autorização escrita para testar o site ou aplicativo.
Quais programas eu preciso ter instalados?
Você precisa do Burp Suite Professional com a extensão Authorize, e ferramentas como curl e ffuf.
O que são 'escalonamento de privilégios' e 'referências diretas inseguras a objetos'?
Escalonamento de privilégios é quando um usuário com poucas permissões consegue obter mais. Referências diretas inseguras a objetos é quando um usuário pode acessar dados de outro usuário simplesmente mudando um ID na URL.
Detalhes
Descrição original do autor
Systematically tests web applications and APIs for broken access control (OWASP A01:2021), including privilege escalation, missing function-level checks, insecure direct object references, and multi-tenant data leakage, using Burp Suite with the Authorize extension. Use during authorized penetration tests or RBAC/multi-tenant authorization audits.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6219
- 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
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