OAuth2 / OIDC

Só leitura — não altera nada no alvo. Só em alvo seu ou autorizado por escrito.

O vetor

Vetor: redirect_uri mal validado, state ausente (CSRF de login), PKCE ausente em SPA/mobile, roubo de code. O que testamos: validação de redirect_uri, presença de state e PKCE.

Os passos

Passo 1 (🟢) — redirect_uri aberto:

# Trocar o redirect por um domínio seu de teste — deve ser REJEITADO:
curl -s -o /dev/null -w "%{http_code}\n" \
 "$BASE/oauth/authorize?client_id=X&redirect_uri=https://pentest-attacker.example/&response_type=code"

O que esperar

  • VULNERÁVEL: aceita redirect_uri fora da allowlist; sem state; SPA sem PKCE.
  • SEGURO: redirect_uri por match exato na allowlist; state obrigatório; PKCE (S256) em clientes públicos.

Como corrigir

Correção (P1): allowlist exata de redirect; state + PKCE obrigatórios; code de uso único e curto. Limpeza: nenhuma.

PurpleLab // plataforma de treino ofensivo + defensivo // Fase 1 — portal dinamico