
automatizar la explotación de CVE-2015-9235
Esta aplicación permite reemplazar un valor en un JSON Web Token (JWT) usando el método HMAC-SHA256 para recalcular la firma. Toma como entrada un token, una clave a reemplazar y el nuevo valor asociado a esa clave.
Clona o descarga el código fuente de la aplicación.
git clone https://github.com/WinDyAlphA/CVE-2015-9235_JWT_key_confusion
cd CVE-2015-9235_JWT_key_confusion
El archivo token.txt contiene un token JWT válido como ejemplo. Puedes modificarlo o reemplazarlo con tu propio token.
Ejecuta la aplicación usando la línea de comandos con los argumentos apropiados:
python main.py -t token_path -k key_to_replace -v new_value
-t o --token: La ruta del archivo que contiene el token JWT original.
-k o --key: La clave a reemplazar en el token.
-v o --value: El nuevo valor a asociar con la clave.
La aplicación mostrará el nuevo token JWT con la clave actualizada.
python main.py -t token.txt -k user -v "thierry23' and 1=1-- -"
Esta aplicación fue creada para ilustrar una vulnerabilidad de seguridad conocida con la referencia CVE-2015-9235.
En el módulo jsonwebtoken para Node.js anterior a la versión 4.2.2, es posible que un atacante omita la verificación cuando un token está firmado con una clave asimétrica (familia RS/ES) de algoritmos, pero en su lugar, el atacante envía un token firmado con un algoritmo simétrico (familia HS*).