
Validador de vulnerabilidades multihilo para Apache Struts 2 (CVE-2017-5638) que escanea miles de endpoints mediante inyección de cabeceras HTTP para detectar Struts-Shock sin payloads maliciosos.
Este script está diseñado para validar la vulnerabilidad de Apache Struts 2 (CVE-2017-5638), también conocida como Struts-Shock. Es completamente inofensivo, ya que no inyecta ninguna carga maliciosa; solo inyecta una cabecera HTTP llamada 'STRUTS2-VALIDATION' para poder validar si es vulnerable.
Debido a su capacidad multihilo, puede ejecutar más de 2.5k aplicaciones repartidas por todo el mundo en menos de 10 minutos. Por lo tanto, puede resultar muy útil para validar aplicaciones empresariales a gran escala.
Hay dos formas de ejecutar este script: con y sin subprocesos; la única diferencia será el tiempo de ejecución. Para habilitar la función de subprocesos, solo tienes que pasar el parámetro thread. El primer parámetro debe ser un archivo TXT que contenga todas las URL objetivo, una por línea. Ten en cuenta que estas URL deben ser completas, por ejemplo, https://target.com/admin/myStrutsPage.action
Aquí hay un ejemplo de uso sin subprocesos:
struts-shock-validation.py target_urls.txt
Ahora usando la capacidad de subprocesos:
struts-shock-validation.py target_urls.txt thread
Creará automáticamente una carpeta llamada results, y en cada ejecución creará una carpeta con fecha que contendrá el resultado de la ejecución. Si los subprocesos están habilitados, creará un archivo por subproceso llamado thread_, que puede ignorarse porque, cuando finaliza, consolidará los resultados de todos los subprocesos en un único archivo TXT con el mismo nombre (fecha/marca de tiempo) que su carpeta de ejecución.