
PoC in Python che sfrutta SQLi blind basata sul tempo in Nagios XI per estrarre il contenuto del database, con estrazione multithread tramite ricerca binaria e selezione CLI di schema/tabella/colonna.
Repository: MettHK/CVE-2023-48084-Revised
Versione aggiornata di Hamibubu/CVE-2023-48084 con multithreading, estrazione tramite ricerca binaria e flag CLI per la selezione di database / tabella / colonna.
Non è il repository originale. Si tratta di un PoC derivato/migliorato. Il merito del lavoro originale va a Hamibubu.
Solo per test di sicurezza autorizzati e uso didattico. Non utilizzare questo strumento contro sistemi che non possiedi o per cui non hai esplicita autorizzazione a testare. Gli autori e i contributori non sono responsabili per un uso improprio.
CVE-2023-48084: Nagios XI precedente alla versione 5.11.3 contiene una vulnerabilità di SQL injection nello strumento di modifica in blocco.
Questo PoC sfrutta una SQL injection blind basata sul tempo su:
/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=(SQL)
Serve un cookie di sessione non admin valido (nagiosxi) oppure un token API.
requests (richiesto)pwntools (opzionale; output di avanzamento migliore)git clone https://github.com/MettHK/CVE-2023-48084-Revised.git
cd CVE-2023-48084-Revised
pip install -r requirements.txt
# Interattivo (scopri schemi → tabelle → colonne)
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>'
# Percorso rapido: database + tabella + colonne note
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
Sconsiglio di usare più di 2 worker poiché potresti ottenere risultati errati
--delay (es. 2) o riduci -w (es. 5).-w 15–20).-d / -t / -C quando conosci già lo schema del target per evitare lunghe fasi di scoperta.| Area | Cosa è cambiato |
|---|
| Estrazione | Ricerca binaria per lunghezza stringa e caratteri ASCII (molte meno richieste) |
| Prestazioni | Estrazione dei caratteri multithread (-w / --workers) |
| CLI | -d / --database — salta la scoperta dello schema |
| CLI | -t / --table — salta la scoperta della tabella (richiede -d) |
| CLI | -C / --columns — colonne separate da virgola, salta la scoperta delle colonne (richiede -t) |
| Temporizzazione | --delay, --threshold, --max-length configurabili |
| Robustezza | Sessioni HTTP per thread; pwntools opzionale (barre di avanzamento) con fallback semplice |
| Documentazione | Crediti/collegamento all'originale; nessun hostname di laboratorio o artefatti CTF negli esempi |
| Flag | Descrizione |
|---|
-u / --url | URL di base (es. https://target.example/nagiosxi) |
-c / --cookie | Valore del cookie di sessione nagiosxi |
-a / --apiKey | Token API (non usare insieme a -c) |
-d / --database | Nome dello schema/database (salta l'enumerazione dello schema) |
-t / --table | Nome della tabella (salta l'enumerazione della tabella; richiede -d) |
-C / --columns | Colonne separate da virgola (salta l'enumerazione delle colonne; richiede -t) |
-w / --workers | Thread paralleli (default: 10) |
--delay | Secondi di SLEEP sul ramo vero (default: 1.5) |
--threshold | Tempo di risposta minimo per considerarlo un hit (default: delay * 0.8) |
--max-length | Limite superiore per la ricerca binaria della lunghezza (default: 2048) |