
Validador de vulnerabilidades multithread para Apache Struts 2 (CVE-2017-5638) que verifica milhares de endpoints através de injeção de cabeçalho HTTP para detectar Struts-Shock sem payloads maliciosos.
Este script tem como objetivo validar a vulnerabilidade Apache Struts 2 (CVE-2017-5638), também conhecida como Struts-Shock. Ele é completamente inofensivo, pois não injeta nenhum payload malicioso, apenas injeta um cabeçalho HTTP chamado 'STRUTS2-VALIDATION' para poder validar se está vulnerável.
Devido à sua capacidade de multithreading, ele é capaz de testar mais de 2.500 aplicações espalhadas pelo mundo em menos de 10 minutos. Portanto, pode ser muito útil para validar aplicações empresariais em grande escala.
Existem duas formas de executar este script, com e sem threading, a única diferença será o tempo de execução. Para ativar o recurso de threading, basta passar o parâmetro thread.
O primeiro parâmetro deve ser um arquivo TXT contendo todas as URLs alvo, uma por linha. Observe que essas URLs devem estar completas, por exemplo, https://target.com/admin/myStrutsPage.action
Aqui está um exemplo de uso sem threading:
struts-shock-validation.py target_urls.txt
Agora usando a capacidade de threads:
struts-shock-validation.py target_urls.txt thread
Ele criará automaticamente uma pasta chamada results, e em cada execução criará uma pasta com data contendo o resultado da execução. Se o threading estiver ativado, será criado um arquivo por thread chamado thread_, que pode ser ignorado, pois ao finalizar, ele consolidará todos os resultados das threads em um único arquivo TXT com o mesmo nome (data/timestamp) da pasta de execução.