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

Authentication Bypass

Bypasses en JWT, 2FA, OTP y mecanismos de login

Respuesta rápida

¿Qué es Authentication Bypass?

Las vulnerabilidades de autenticación permiten acceder a cuentas ajenas sin credenciales válidas. Incluyen ataques a JWT, bypass de 2FA, brute force de OTP, manipulación de tokens y flaws en flujos de OAuth.

Severidad

Crítico

Frecuencia

Común

Payloads

11

Pasos

6

Severidad

Crítico

Frecuencia

Común

Payloads

11

La autenticación es el primer muro de defensa. Los fallos van desde tokens débiles hasta lógica rota en flujos multi-paso (registro → verificación → login). Los JWTs mal configurados son un target favorito porque un solo fallo permite forjar tokens válidos para cualquier usuario.

Account TakeoverSuplantación de identidadAcceso a datos sensiblesEscalación de privilegiosBypass de 2FA/MFA

Dónde buscar

Tokens JWT

Decodifica con jwt.io — revisa algoritmo, claims, expiración. Busca información sensible en el payload.

Flujo de OTP/2FA

Endpoints de verificación, reset de contraseña. Prueba brute force, null values, reutilización de códigos.

OAuth/SSO

Flujos de login con Google, GitHub, etc. ¿Se puede saltar el 2FA vía OAuth? ¿El state param es validado?

Password reset

¿El token es predecible? ¿Expira? ¿Invalida sesiones previas? ¿Se puede reenviar a otro email?

Cookies de sesión

¿HttpOnly? ¿Secure? ¿SameSite? ¿El valor es predecible o se puede forjar?

Metodología

1

Analizar el flujo completo

Mapea: registro → verificación → login → sesión → refresh → logout. Cada paso es un vector.

2

Decodificar JWT

jwt.io para ver claims. Busca: alg, role, userId, exp, iss. ¿Hay datos sensibles en el payload?

3

Probar algoritmos JWT

Cambia RS256→HS256 (usa clave pública como secreto HMAC). Prueba alg:none. Inyecta JWK en header.

4

Testear OTP

¿Rate limiting? Prueba 000000, null, string vacío. ¿El código aparece en la respuesta o headers?

5

Verificar 2FA bypass

¿OAuth salta 2FA? ¿Se puede desactivar sin re-autenticar? ¿Los backup codes son reutilizables?

6

Probar reset de contraseña

¿El token es largo y aleatorio? ¿Caduca? ¿Se invalida después de usar? ¿Se puede reenvilar a otro email?

Caso real

Account Takeover vía OTP brute force + email normalization

$560
1

Descubrir normalización inconsistente

El endpoint de generar OTP acepta 'User@email.com' pero el de verificar acepta 'USER@email.com' — ambos apuntan al mismo usuario.

2

Generar permutaciones de email

Script en Python con itertools para generar todas las variaciones de capitalización del email de la víctima.

3

Brute force distribuido

OTP de 4 dígitos = 10,000 combinaciones. Sin rate limiting → probar 4 códigos por variación de email.

4

Account Takeover

En ~12 minutos se encuentra el código correcto. Se cambia la contraseña de la víctima.

Lección: Dos bugs débiles (normalización inconsistente + sin rate limiting) combinados producen un Account Takeover completo. Siempre prueba la consistencia de normalización entre endpoints.

Payloads

JWT none algorithm

{"alg":"none","typ":"JWT"}.{"sub":"admin"}.  (firma vacía)

OTP null bypass

{"email": "victim@email.com", "code": null}

OTP vacío

{"email": "victim@email.com", "code": ""}

Email normalization

Victim@Email.COM vs victim@email.com vs VICTIM@email.com

Password reset token reuse

Usar el mismo token de reset dos veces — ¿funciona?

Payloads avanzados(requiere cuenta)

jwt_tool — all tests

python3 jwt_tool.py <TOKEN> -M at -t "https://target.com/api/me" -rh "Authorization: Bearer"

Algorithm confusion RS256→HS256

Extraer clave pública del servidor → usarla como secreto HMAC → firmar JWT con HS256

JWK header injection

{"alg":"RS256","jwk":{"kty":"RSA","n":"...","e":"AQAB"}}  ← tu propia clave pública

KID path traversal

{"alg":"HS256","kid":"../../../dev/null"}  → firma con string vacío

2FA device trust leak

machine_id en OAuth batch API = datr cookie → setear cookie → bypass 2FA en recovery

Response manipulation

Interceptar respuesta → cambiar "role":"user" → "role":"admin"

Contenido exclusivo

Crea tu cuenta gratis para acceder a payloads avanzados, scripts y técnicas de bypass

Crear cuenta gratis

Herramientas

jwt_tool

Suite completa de testing JWT: prueba todos los ataques conocidos automáticamente.

python3 jwt_tool.py <TOKEN> -M at

jwt.io

Decodificador visual de JWT. Pega el token y ve header, payload y firma.

https://jwt.io/

Burp Intruder

Brute force de OTP con payloads numéricos secuenciales.

Intruder → Sniper → Payload: Numbers 0000-9999

Tips

Decodifica siempre el JWT

Muchos JWTs contienen datos sensibles en el payload: emails, roles, IDs internos.

4 dígitos = brute-forceable

10,000 combinaciones. Si no hay rate limiting, puedes probar todos en minutos.

OAuth puede saltar 2FA

Si la app permite login con Google y no revalida 2FA después, es bypass directo.

Refresh tokens sin rotación

Si el refresh token no cambia después de usarlo, un token robado da acceso permanente.

Revisa las sesiones post-reset

Cambiar contraseña debería invalidar TODAS las sesiones activas. Si no lo hace, es un bug.

Practica Authentication Bypass con labs reales

Aplica estas técnicas en entornos seguros basados en reportes reales de bug bounty.