Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
demo-cve-2022-21449 — Démo éducative du contournement de signature ECDSA Java CVE-2022-21449 utilisant des jetons JWT réels et faux pour illustrer la vulnérabilité et son impact sur l'authentification. | Kitploit
Outils/GitHubGitHub/volodymyr-hladkyi-symphony/demo-cve-2022-21449
Analyse des VulnérabilitésExploitation d'Applications WebCryptographieTests d'IntrusionAuthentificationApprentissage et Éducation
GitHubvolodymyr-hladkyi-symphony/demo-cve-2022-21449

demo-cve-2022-21449

Démo éducative du contournement de signature ECDSA Java CVE-2022-21449 utilisant des jetons JWT réels et faux pour illustrer la vulnérabilité et son impact sur l'authentification.

Voir le dépôt
23il y a 1 anPas 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

Projet de démonstration : Vulnérabilité CVE-2022-21449

Ce projet démontre la vulnérabilité CVE-2022-21449, qui affecte la vérification de signature ECDSA de Java. La vulnérabilité permet à un acteur malveillant de contourner la vérification de signature en utilisant une signature avec des valeurs nulles (r=0 et s=0). Le projet utilise des jetons JWT réels et faux avec des signatures EC pour illustrer le problème sur Java 17 sans le correctif de sécurité.

Fonctionnalités

  • Jeton JWT réel : Un jeton JWT valide signé avec une clé privée EC.
  • Jeton JWT factice : Un jeton JWT avec une signature mise à zéro (r=0, s=0).
  • Validation : Montre comment la vulnérabilité permet au jeton factice de passer la validation.

Prérequis

  • Java 17 (sans le correctif de sécurité pour CVE-2022-21449).
  • Maven pour construire le projet.

Structure du projet

  • JwtGenerator : Génère des jetons JWT réels et factices.
  • JwtUtils : Valide les jetons JWT à l'aide d'une clé EC publique.
  • SecurityConfig : Configure Spring Security pour démontrer l'authentification basée sur les jetons.
  • ProtectedController : Fournit des points de terminaison pour tester le contrôle d'accès basé sur les jetons.

Comment utiliser l'application console JwtGenerator

La classe JwtGenerator est une application console autonome qui génère et imprime à la fois des jetons JWT valides et factices.

Étapes pour exécuter

  1. Construire le projet :

    mvn clean install
    
  2. Exécuter la classe JwtGenerator :

    mvn exec:java -Dexec.mainClass="com.symphony_solutions.demo.util.JwtGenerator"
    
  3. Sortie : L'application imprimera :

    • Un jeton JWT valide.
    • Un jeton JWT factice avec une signature mise à zéro.

    Exemple :

    === Valid JWT ===
    eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhbGljZSIsInJvbGVzIjpbIkFETUlOIiwiVVNFUiJdLCJpYXQiOjE2NzAwMDAwMDAsImV4cCI6MTY3MDAzNjAwMH0.<signature>
    
    === Fake JWT with zero signature ===
    eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJib2IiLCJyb2xlcyI6WyJBRE1JTiIsIlVTRVIiXSwiaWF0IjoxNjcwMDAwMDAwLCJleHAiOjE2NzAwMzYwMDB9.<zeroed_signature>
    
  4. Utiliser les jetons :

    • Copiez les jetons et utilisez-les pour tester la vulnérabilité dans l'application ou d'autres outils.

Démontrer la vulnérabilité

  1. Démarrer l'application :

    mvn spring-boot:run
    
  2. Accéder aux points de terminaison protégés :

    • Utilisez un jeton valide pour accéder à /protected/user ou /protected/admin.
    • Utilisez le jeton factice pour montrer comment la vulnérabilité permet un accès non autorisé.
  3. Points de terminaison :

    • /protected/user : nécessite le rôle USER ou ADMIN.
    • /protected/admin : nécessite le rôle ADMIN.

Remarques importantes

  • Ce projet est uniquement à des fins éducatives. Ne l'utilisez pas dans des environnements de production.
  • Assurez-vous que votre version de Java est mise à jour avec le correctif de sécurité pour atténuer CVE-2022-21449.

Références

  • Détails de CVE-2022-21449
  • Mises à jour de sécurité Java

Licence

Ce projet est sous licence MIT.

Télécharger l’outil