
JWT Key Confusion PoC (CVE-2015-9235) Escrito para el desafío de Hack the Box - En construcción
Escrito para los desafíos de Hack the Box - Under Construction y Secret
Ambos scripts incluidos realizan un ataque de confusión de claves de Java Web Token (CVE-2015-9235).
Para realizar el ataque, se requiere que el atacante conozca la clave pública que el servidor utilizará para verificar la firma, así como que el servidor esté configurado para usar el algoritmo HS256. Debido a que HS256 es un algoritmo de clave simétrica (la misma clave se usa para firmar y verificar el mensaje), podemos usar la clave pública para firmar nuestro token manipulado. Dado que el servidor web conoce la clave pública, cuando reciba el token manipulado podrá verificarlo.

python3 jwt-9235.py [-h] [token_location] [claim_key] [claim_value]
positional arguments:
token_location location of JWT token (must include 'pk' payload)
claim_key payload claim to target
claim_value new claim value
optional arguments:
-h, --help show this help message and exit
Si no se proporcionan argumentos, la aplicación buscará un archivo de token ./token, apuntará a la reclamación username y reemplazará el valor de la reclamación con ‘ or 1=1;–
pip install hashlib hmac base64 json argparse colorama