Share
## https://sploitus.com/exploit?id=AB4EA6E1-C33F-564A-A830-7D9FE2AE846A
# Exploit CVE-2023-50164 para o Laboratório HackTheBox

## Descrição
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)**.

### Observação:
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.

## Objetivo
O objetivo deste exploit é demonstrar como a falha no Apache Struts 2, especificamente no endpoint de upload de arquivos, pode ser explorada para:
1. **Realizar Path Traversal** e acessar arquivos não autorizados.
2. **Fazer upload de um arquivo malicioso** para o servidor.
3. **Executar código remotamente (RCE)** no servidor afetado.

## Descrição Técnica
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**.

### Passos do Exploit
1. **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.
   
2. **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.

3. **Execução de Código Remoto**: O atacante pode inserir código malicioso que será executado no servidor após o upload.

## Exemplo de Requisição HTTP
Abaixo está um exemplo de uma requisição HTTP que pode ser utilizada para explorar a vulnerabilidade:

```http
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--