
Automatiser l'exploit JWT (CVE-2018-0114)
J'ai créé cet outil à des fins d'apprentissage et pour automatiser le détournement de jetons JWT sans dépendre de Burp Suite. Le code est bien documenté et facile à suivre. Basé sur (CVE-2018-0114) La vulnérabilité se produit car, côté backend, le serveur vérifie l'objet jwk intégré dans l'en-tête JWT. Il contient n et e, qui sont deux paramètres utilisés pour former la clé publique.
1) Un attaquant génère de nouvelles paires de clés RSA.
2) Récupère n et e et les injecte dans l'objet jwk dans l'en-tête JWT.
3) Modifie toute valeur dans la section body du JWT puis le signe avec sa clé privée.
4) Le serveur utilise la clé publique de l'attaquant pour vérifier la signature.
5) J'ai créé une fonction de vérification pour s'assurer que le JWT est exploité avec succès ou non en essayant de le décoder avec la clé publique de l'attaquant (n et e).
1) Remplacez la valeur de la variable "jwt_orginal at line 125" par le nouveau JWT vulnérable.
2) Ajoutez les attributs que vous souhaitez modifier dans l'objet dictionnaire "dict_values at line 126"
3) Profitez-en.