Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
POC_CVE-2015-9235 — Démo de l'attaque par confusion d'algorithme sur diverses bibliothèques JWT | Kitploit
Outils/GitHubGitHub/tierchampion/poc_cve-2015-9235
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCTFAuthentificationApprentissage et Éducation
GitHubtierchampion/poc_cve-2015-9235

POC_CVE-2015-9235

Démo de l'attaque par confusion d'algorithme sur diverses bibliothèques JWT

Voir le dépôt
7il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2015-9235

Démonstration de l'attaque par confusion d'algorithme sur les bibliothèques Json Web Token (JWT). Les JWT sont souvent utilisés dans les cookies pour certifier une session utilisateur, donc cette attaque est critique. Le module Node [email protected] a été utilisé pour démontrer la vulnérabilité.

Ce projet était également une belle activité de « vibe coding » car le front-end a été presque entièrement réalisé avec des LLMs en dehors des appels API.

Vulnérabilité

Le format d'un JWT est le suivant :

root@kitploit:~
b64(header).b64(payload).b64(signature)
With in our case:
  header = (algorithm, type)
  payload = (username, role)

À l'époque, les différentes bibliothèques JWT pouvaient signer avec un algorithme, mais n'imposaient pas d'algorithme et se fiaient plutôt au contenu de l'en-tête du JWT, laissant ainsi l'utilisateur décider de son propre chiffrement. Cela permet de nombreuses exploitations, mais celle utilisée dans ce cas est la suivante :

  1. Le backend crée des JWT avec une signature RSA 256 en utilisant sa clé privée
  2. L'attaquant récupère la clé publique du backend, ce qui est un cas d'utilisation parfaitement normal
  3. L'attaquant forge un JWT personnalisé avec un algorithme symétrique (HMAC SHA-256 dans notre cas) en utilisant la clé publique comme secret tout en définissant l'algorithme à HS256 dans l'en-tête
  4. Le backend vérifie le JWT en faisant du HS256 avec sa clé publique et le jeton est validé !

Parcours

Authentifiez-vous en tant qu'utilisateur sur la page de connexion. Vous devrez d'abord vous inscrire.

Une fois sur la page d'accueil, il y aura un bouton qui ne peut être cliqué que si vous avez une session administrateur valide. Vous devrez alors exécuter l'exploit pour forger ce JWT.

Enfin, vous remplacez le JWT original par le JWT forgé dans le stockage local et après un rafraîchissement, le bouton devrait être cliquable et le flag est à vous !

Télécharger l’outil