Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1310 CNY

100%

CVE-2023-50164 PoC — Apache Struts: File upload component had a directory traversal vulnerability

Source
Associated Vulnerability
Title:Apache Struts: File upload component had a directory traversal vulnerability (CVE-2023-50164)
Description:An attacker can manipulate file upload params to enable paths traversal and under some circumstances this can lead to uploading a malicious file which can be used to perform Remote Code Execution. Users are recommended to upgrade to versions Struts 2.5.33 or Struts 6.3.0.2 or greater to fix this issue.
Readme
# 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="../../shell.jsp"
Content-Type: application/octet-stream

[conteúdo do arquivo]
--------------------------abcdef--
File Snapshot

Log in to view the POC file snapshot cached by Shenlong Bot

Log in to view
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →