
Der Exploit wurde bearbeitet, um mit verschiedenen Textkodierungen und Python 3 zu funktionieren, und ist mit CMSMS Version 2.2.9 und niedriger kompatibel.
Dieses Repository enthält einen Exploit für die Schwachstelle CVE-2019-9053, die in der CMS Made Simple (CMSMS)-Software gefunden wurde. Der Exploit wurde modifiziert, um mit Python 3 zu funktionieren und ist mit CMSMS Version 2.2.9 und darunter kompatibel.
CVE-2019-9053 ist eine zeitbasierte blinde SQLi-Schwachstelle, die es dem Angreifer ermöglicht, die Datenbank zu enumerieren, indem er Verzögerungen in den Antworten der Anwendung überwacht und Informationen extrahiert. Die Schwachstelle ist in Versionen von CMSMS bis einschließlich 2.2.9 vorhanden.
Das bereitgestellte Python-Skript ist dazu entwickelt, Daten aus der Datenbank zu extrahieren und dann optional extrahierte Hashes mit einer bereitgestellten Wortliste und verschiedenen Kodierungen zu knacken. Es versucht, die angegebene Wortlistendatei mit verschiedenen Kodierungen zu öffnen und prüft, ob der berechnete MD5-Hash des kodierten Passworts mit dem Ziel-Passwort übereinstimmt.
Der Code wurde bearbeitet, um mit Python 3 zu funktionieren und unterstützt verschiedene Arten von Kodierungen. Es verwendet die hashlib-Bibliothek zur Berechnung von MD5-Hashes und führt notwendige Zeichenkettenmanipulationen durch, um Kodierungs- und Dekodierungsvorgänge zu handhaben.
Usage: exploit.py [options]
Options:
-h, --help show this help message and exit
-u URL, --url=URL Base target uri (ex. http://10.10.10.100/cms)
-w WORDLIST, --wordlist=WORDLIST
Wordlist for crack admin password
-c, --crack Crack password with wordlist
-t TIME, --time=TIME Time for SQLIi time based attack, default = 1
(second). The slower your internet is the larger this
number should be.
-s salt, --salt=salt Salt for password hash
-p pass, --pass=pass Password hash
Wenn Sie das Skript ausführen, wird es den Salt des Passwort-Hashes, dann den Benutzernamen, dann die E-Mail und dann den Passwort-Hash Buchstabe für Buchstabe herunterladen. Wenn es von einem dieser extrahierten Strings weitergeht und der String kurz erscheint (d.h. er ist nur etwa 3 oder 4 Zeichen lang), sollten Sie das Programm beenden und die Option --time nutzen und deren Wert erhöhen.
Wenn Sie nur das Passwort knacken möchten, können Sie Salt und Hash als Argumente an das Skript übergeben. Das Skript wird dann versuchen, das Passwort mit der bereitgestellten Wortliste zu knacken. z.B.: python3 csm_made_simple_injection.py -u http://10.10.10.100/cms -t 4 -c -w /usr/share/wordlists/mylist.txt -p xxxxxxxxxxxxxxxxx -s yyyyyyyyyyyyyyy
Dieses Exploit-Skript wird nur zu Bildungszwecken bereitgestellt. Die Autoren fördern oder befürworten keine unbefugte Nutzung oder Ausnutzung von Schwachstellen. Die Verantwortung für jede illegale oder unethische Nutzung dieses Skripts liegt ausschließlich beim Benutzer.