Pular para o conteúdo
Skillpedia
Testes35 mil · #6219

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/testing-for-broken-access-control/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/testing-for-broken-access-control/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-control

Ou 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.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.

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.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6219
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