
Exploit educacional para CVE-2023-50164 (Apache Struts 2) demonstrando path traversal e execução remota de código por meio de upload malicioso de arquivo, projetado para ambientes de laboratório HackTheBox.
Este exploit foi desenvolvido especificamente para o laboratório Strutted da HackTheBox, visando explorar a vulnerabilidade CVE-2023-50164 no Apache Struts 2. A falha permite path traversal através de uma falha no tratamento dos parâmetros de upload de arquivos. O exploit foi criado com o propósito de demonstrar como um atacante pode realizar upload de arquivos maliciosos e obter execução remota de código (RCE).
Este exploit foi desenvolvido exclusivamente para fins educacionais dentro do ambiente controlado da HackTheBox e não deve ser utilizado em sistemas reais sem permissão explícita. A exploração de vulnerabilidades sem consentimento é ilegal e antiética.
O objetivo deste exploit é demonstrar como a falha no Apache Struts 2, especificamente no endpoint de upload de arquivos, pode ser explorada para:
A vulnerabilidade CVE-2023-50164 está associada ao tratamento incorreto dos parâmetros de upload de arquivos, permitindo que um atacante manipule o nome do arquivo enviado para realizar path traversal.
Manipulação do Parâmetro HTTP: O exploit modifica os parâmetros HTTP para incluir caracteres de traversal de diretório (../), permitindo o upload de um arquivo malicioso em uma pasta não autorizada.
Envio do Arquivo Malicioso: O exploit envia um arquivo malicioso usando o método POST no endpoint /upload.action, explorando a falha de case sensitivity dos parâmetros HTTP.
Execução de Código Remoto: O atacante pode inserir código malicioso que será executado no servidor após o upload.
Abaixo está um exemplo de uma requisição HTTP que pode ser utilizada para explorar a vulnerabilidade:
POST /upload.action HTTP/1.1
Host: vulnerable-server.com
Content-Type: multipart/form-data; boundary=------------------------abcdef
--------------------------abcdef
Content-Disposition: form-data; name="Upload"; filename="img.png"
Content-Type: application/octet-stream
PNG
--------------------------abcdef
Content-Disposition: form-data;
Content-Type: application/octet-stream
../../shell.jsp
--------------------------abcdef--