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
819

hunters entrenando

56

labs de reportes reales

1326

completaciones

$231.410

en bounties practicados

34 flags capturadas esta semana·Reportes reales de HackerOne · Bugcrowd · Intigriti·Sin permanencia·Academy gratis
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 reportes reales que pagaron miles de euros. La Academy es gratis para siempre.

Sin tarjeta · Academy gratis · cancela cuando quieras