JWT

Informativo

JSON Web Token

Definición

JSON Web Token (JWT) es un estándar abierto (RFC 7519) para crear tokens de acceso que contienen claims (declaraciones) codificadas en JSON. Un JWT consta de tres partes: header (algoritmo), payload (claims) y signature (firma). Se usan ampliamente para autenticación en APIs. Las vulnerabilidades en JWT pueden llevar a bypass de autenticación y escalada de privilegios.

Impacto

Autenticación stateless ampliamente usada en APIs modernasAtaques de algoritmo 'none' pueden permitir crear tokens sin firmaConfusión de algoritmo (RS256 a HS256) puede permitir forjar tokensSecretos débiles pueden ser crackeados por fuerza bruta (jwt_tool, hashcat)Tokens sin expiración o con claims modificables facilitan el account takeover

Ejemplos

Estructura y ataques comunes a JWT

Los ataques más comunes a JWT incluyen: cambiar el algoritmo a 'none' para evitar la verificación de firma, crackear secretos débiles con hashcat, o explotar la confusión entre algoritmos simétricos (HS256) y asimétricos (RS256) para forjar tokens válidos.

# Estructura de un JWT (3 partes separadas por puntos):
# HEADER.PAYLOAD.SIGNATURE

# Header (base64url)
{"alg": "HS256", "typ": "JWT"}

# Payload (base64url)
{"userId": "123", "role": "user", "exp": 1713262800}

# Ataque 1: Algorithm None
# Cambiar header a {"alg": "none"} y eliminar la firma
# eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJ1c2VySWQiOiIxMjMiLCJyb2xlIjoiYWRtaW4ifQ.

# Ataque 2: Crackear secreto débil
$ hashcat -a 0 -m 16500 jwt.txt rockyou.txt
# Si el secreto es "password123", ahora puedes firmar tokens arbitrarios

Practica JWT con labs reales

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

Ver labs de práctica
2.786

hunters entrenando

63

labs de hackeos reales

1.767

completaciones

$14.790

pagados por estos bugs

37 flags capturadas esta semana·Hackeos reales de HackerOne · YesWeHack · Bugcrowd·Sin permanencia·Academy gratis
Gratis · sin cuenta

La checklist que repaso en cada objetivo nuevo

47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.

Te das de baja en un clic, desde cualquier correo.

BBLabs · bug bounty en español

Deja de leer sobre bugs y empieza a cazarlos

Crea tu cuenta gratis y practica sobre labs basados en hackeos reales que pagaron miles de euros. La Academy es gratis para siempre.

Sin tarjeta · Academy gratis · cancela cuando quieras

La comunidad

Esto no es una plataforma con usuarios.Es gente rompiendo lo mismo que tú.

Dentro se pregunta, se enseña lo que se ha encontrado y se resuelve en grupo lo que atascaría a cualquiera solo. Se entra gratis: sin cuenta, sin plan y sin dejar el correo.

Entrar a la comunidad de BBLABS en Discord
Entrar al Discord

Es gratis y abierto. No hace falta tener cuenta en BBLABS para entrar.