
Multithread-fähiger Sicherheitslücken-Validator für Apache Struts 2 (CVE-2017-5638), der tausende Endpunkte über HTTP-Header-Injection scannt, um Struts-Shock ohne schädliche Payloads zu erkennen.
Dieses Skript dient zur Validierung der Apache Struts 2-Sicherheitslücke (CVE-2017-5638), auch bekannt als Struts-Shock. Es ist völlig harmlos, da es keine schädliche Nutzlast injiziert, sondern lediglich einen HTTP-Header namens 'STRUTS2-VALIDATION' einfügt, um zu überprüfen, ob die Anwendung anfällig ist.
Dank seiner Multithreading-Fähigkeit kann es über 2.500 Anwendungen weltweit in weniger als 10 Minuten testen. Daher ist es sehr nützlich, um Unternehmensanwendungen in großem Maßstab zu validieren.
Es gibt zwei Möglichkeiten, dieses Skript auszuführen: mit und ohne Threading. Der einzige Unterschied ist die Ausführungszeit. Um das Threading zu aktivieren, muss lediglich der Parameter thread übergeben werden. Der erste Parameter muss eine TXT-Datei sein, die alle Ziel-URLs enthält, eine pro Zeile. Beachten Sie, dass diese URLs vollständig sein sollten, zum Beispiel https://target.com/admin/myStrutsPage.action
Hier ein Anwendungsbeispiel ohne Threading:
struts-shock-validation.py target_urls.txt
Nun mit Threading-Funktion:
struts-shock-validation.py target_urls.txt thread
Das Skript erstellt automatisch einen Ordner namens 'results', und bei jeder Ausführung wird ein datumsbezogener Ordner mit den Ergebnissen erstellt. Wenn Threading aktiviert ist, wird pro Thread eine Datei mit dem Namen thread_ erstellt, die ignoriert werden kann, da nach Abschluss alle Thread-Ergebnisse in einer einzigen TXT-Datei zusammengeführt werden, die denselben Namen (Datum/Zeitstempel) wie der Ausführungsordner trägt.