
Validateur de vulnérabilité multithread pour Apache Struts 2 (CVE-2017-5638) qui scanne des milliers de points de terminaison via une injection d'en-tête HTTP pour détecter Struts-Shock sans charges utiles malveillantes.
Ce script est conçu pour valider la vulnérabilité Apache Struts 2 (CVE-2017-5638), également connue sous le nom de Struts-Shock. Il est totalement inoffensif car il n'injecte aucune charge utile malveillante, seulement un en-tête HTTP nommé 'STRUTS2-VALIDATION' afin de pouvoir valider si le système est vulnérable.
Grâce à sa capacité multitâche, il peut exécuter 2,5k+ applications réparties dans le monde entier en moins de 10 minutes. Il peut donc être très pratique pour valider des applications d'entreprise à grande échelle.
Il existe deux façons d'exécuter ce script, avec ou sans threading, la seule différence sera le temps d'exécution. Pour activer la fonctionnalité de threading, il suffit de passer le paramètre thread.
Le premier paramètre doit être un fichier TXT contenant toutes les URL ciblées, une par ligne. Veuillez noter que ces URL doivent être complètes, par exemple, https://target.com/admin/myStrutsPage.action
Voici un exemple d'utilisation sans threading :
struts-shock-validation.py target_urls.txt
Maintenant avec la capacité de threading :
struts-shock-validation.py target_urls.txt thread
Il créera automatiquement un dossier appelé results, et à chaque exécution, il créera un dossier daté contenant le résultat de l'exécution. Si le threading est activé, il créera un fichier par thread nommé thread_, qui peut être ignoré car une fois terminé, il consolidera tous les résultats des threads en un seul fichier TXT portant le même nom (date/horodatage) que son dossier d'exécution.