
Automatisierter Scanner für die CVE-2019-12102 nicht authentifizierte Datei-Upload-Sicherheitslücke in Kentico CMS. Überprüft Domains, verifiziert mit Hash-Parameter und gibt potenziell und bestätigt anfällige Ziele aus.
Das CVE-2019-12102 Scanner ist ein automatisiertes Tool, um nach der Schwachstelle für nicht authentifizierten Datei-Upload / Datei-Exposition in Kentico CMS Version 11 bis 12 zu scannen. Diese Sicherheitslücke wird durch unzureichende Zugriffskontrolle am Endpunkt /cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx verursacht. Das Tool prüft, ob eine Domain anfällig ist, indem es die Antwort des Endpunkts überprüft, und speichert die Ergebnisse in separate Dateien für Potentiell anfällige und Bestätigt anfällige Domains.
Die Sicherheitslücke CVE-2019-12102 erlaubt Angreifern:
Der anfällige Endpunkt (/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx) kann ohne Authentifizierung aufgerufen werden, wenn der Parameter hash nicht korrekt validiert wird. Wenn die URL zu /CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash= weiterleitet, gilt die Domain als anfällig.
Ctrl+C).requests, coloramaKlonen Sie dieses Repository:
git clone https://github.com/Egi08/CVE-2019-12102-Scanner.git
cd CVE-2019-12102-Scanner
Installieren Sie die Abhängigkeiten:
pip install -r requirements.txt
(Falls die Datei requirements.txt nicht existiert, erstellen Sie sie mit folgendem Inhalt):
requests
colorama
Bereiten Sie eine Eingabedatei (domains.txt) vor, die eine Liste von Domains enthält, eine Domain pro Zeile. Beispiel:
example.com
another-example.com
vulnerable-site.com
python cve_2019_12102_scanner.py -l <input_file> -p <potentially_output_file> -c <confirmed_output_file>
-l, --list: Pfad zur Datei mit der Liste der Domains (erforderlich).-p, --potentially: Ausgabedatei für Potentiell anfällige Domains (optional, Standard: potentially_vulnerable.txt).-c, --confirmed: Ausgabedatei für Bestätigt anfällige Domains (optional, Standard: confirmed_vulnerable.txt).python cve_2019_12102_scanner.py -l domains.txt -p potentially_vulnerable.txt -c confirmed_vulnerable.txt
[*] Starting vulnerability scanner for CVE-2019-12102...
[*] Checking: http://example.com
[-] Not Vulnerable: http://example.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[*] Checking: http://vulnerable-site.com
[+] Potentially Vulnerable: http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[+] Confirmed Vulnerable: http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
[+] Results saved:
Potentially Vulnerable domains saved to potentially_vulnerable.txt
Confirmed Vulnerable domains saved to confirmed_vulnerable.txt
potentially_vulnerable.txt)http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
confirmed_vulnerable.txt)http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
Ethische Tests:
Timeout:
requests.get-Funktion anpassen:
response = requests.get(full_url, timeout=20) # Timeout von 20 Sekunden
Fehlerbehandlung:
Sicheres Speichern:
Ctrl+C) in die Ausgabedateien gespeichert.Hash-Parameter:
test_hash verwendet derzeit den Beispiel-Hash (13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf). Passen Sie ihn gegebenenfalls an.Beiträge sind willkommen! Wenn Sie beitragen möchten, gehen Sie bitte wie folgt vor:
git checkout -b feature/ihr-feature-name
git commit -m "Fügen Sie Ihre Änderungen hier ein"
git push origin feature/ihr-feature-name
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Details finden Sie in der LICENSE-Datei.
Mit dieser Dokumentation können Sie das Skript problemlos auf GitHub hochladen und klare Anweisungen für andere bereitstellen, die das Tool verwenden möchten.