Nuevos labs cada semana — Accede a todos desde 5€/mes

OAuth

Informativo

OAuth 2.0

Definición

OAuth 2.0 es un framework de autorización que permite a aplicaciones de terceros obtener acceso limitado a recursos de un usuario en otro servicio sin compartir credenciales. Utiliza flujos como Authorization Code, Implicit y Client Credentials. Las implementaciones incorrectas de OAuth son una fuente frecuente de vulnerabilidades como account takeover y robo de tokens.

Impacto

Account takeover mediante robo de authorization codeRobo de tokens de acceso vía open redirect en redirect_uriAcceso no autorizado a datos del usuario en servicios de tercerosCSRF en flujo OAuth para vincular cuenta del atacanteEscalada de privilegios mediante manipulación de scopes

Ejemplos

Robo de Authorization Code vía redirect_uri manipulado

Si el servidor de autorización OAuth no valida estrictamente el redirect_uri (permite subdominios, paths arbitrarios o dominios similares), el atacante puede redirigir el código de autorización a su propio servidor, obteniendo acceso a la cuenta de la víctima.

# Flujo OAuth normal:
GET /authorize?response_type=code
  &client_id=app123
  &redirect_uri=https://app.com/callback
  &scope=email
  &state=random123

# Ataque: manipular redirect_uri
GET /authorize?response_type=code
  &client_id=app123
  &redirect_uri=https://app.com.evil.com/callback
  &scope=email
  &state=random123

# Si el servidor de OAuth no valida estrictamente redirect_uri,
# el authorization code se envía al dominio del atacante

Practica OAuth con labs reales

Aplica lo que has aprendido en entornos seguros basados en reportes de bug bounty.

Ver labs de práctica