关联漏洞
标题:
Apache Struts 安全漏洞
(CVE-2023-50164)
描述:Apache Struts是美国阿帕奇(Apache)基金会的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架,主要提供两个版本框架产品,Struts 1和Struts 2。 Apache Struts 存在安全漏洞,该漏洞源于file upload参数存在路径遍历漏洞。攻击者可利用该漏洞上传恶意文件并执行远程代码。受影响的产品和版本:Apache Struts 2.0.0至2.5.32版本,6.0.0至6.3.0.1版本。
介绍
# 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--
文件快照
[4.0K] /data/pocs/7516d9697a3ec46f7fa4bb089526ea95a4f99491
├── [5.3K] exploit.py
├── [2.4K] README.md
├── [ 17] requirements.txt
└── [1.6K] upload.py
0 directories, 4 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。