
Validatore di vulnerabilità multithread per Apache Struts 2 (CVE-2017-5638) che scansiona migliaia di endpoint tramite iniezione di intestazione HTTP per rilevare Struts-Shock senza payload dannosi.
Questo script ha lo scopo di validare la vulnerabilità Apache Struts 2 (CVE-2017-5638), nota come Struts-Shock. È completamente innocuo in quanto non inietta alcun payload malevolo, ma solo un'intestazione HTTP denominata 'STRUTS2-VALIDATION' per poter validare se è vulnerabile.
Grazie alla sua capacità multithread, è in grado di eseguire 2.5k+ applicazioni sparse in tutto il mondo in meno di 10 minuti. Quindi, può essere molto utile per validare applicazioni aziendali su larga scala.
Ci sono due modi per eseguire questo script, con e senza threading, l'unica differenza sarà il tempo di esecuzione. Per abilitare la funzionalità di threading, basta passare il parametro thread.
Il primo parametro deve essere un file TXT contenente tutti gli URL target, uno per riga. Si noti che questi URL devono essere completi, ad esempio, https://target.com/admin/myStrutsPage.action
Ecco un esempio di utilizzo senza threading:
struts-shock-validation.py target_urls.txt
Ora utilizzando la funzionalità threads:
struts-shock-validation.py target_urls.txt thread
creerà automaticamente una cartella chiamata results, e ad ogni esecuzione creerà una cartella datata contenente il risultato dell'esecuzione. Se il threading è abilitato, creerà un file per thread chiamato thread_, che può essere ignorato perché al termine consoliderà tutti i risultati dei thread in un singolo file TXT con lo stesso nome (data/timestamp) della cartella di esecuzione.