
Exploit multi-thread para CVE-2024-53677 (Apache Struts S2-067) com direcionamento de endpoint de upload de arquivos, teste de path traversal e injeção de payload JSP personalizada.
Não utilize as tecnologias relacionadas neste artigo para realizar testes ilegais. Quaisquer consequências diretas ou indiretas, bem como perdas decorrentes da disseminação ou uso das informações ou ferramentas aqui fornecidas, são de responsabilidade exclusiva do usuário. O autor do artigo não se responsabiliza por quaisquer resultados adversos. Este artigo é apenas para fins de aprendizado.
PoC de validação, https://github.com/TAM-K592/CVE-2024-53677-S2-067/ As seguintes versões do Apache Struts são afetadas: 2.0.0 a 2.5.33, 6.0.0 a 6.3.0.2
Com base no histórico recente do PoC (últimos dias), a versão final disponível atualmente na internet é o ofuscamento base64, que foi divulgado ontem em chinês (meio-dia de 18/12/2024).

Fiz algumas modificações com base no trabalho do mestre
usage: CVE-2024-53677-S2-067-thread.py [-h] (-u URL | -f FILE) --upload_endpoint UPLOAD_ENDPOINT [--paths PATHS [PATHS ...]]
[--filenames FILENAMES [FILENAMES ...]] [--payload PAYLOAD] [-s THREADS] [-o OUTPUT]
S2-067 Exploit - Suporte a upload de arquivos multithread e leitura de URLs a partir de arquivo
options:
-h, --help show this help message and exit
-u URL, --url URL URL base alvo (ex: http://example.com)
-f FILE, --file FILE Caminho para arquivo contendo URLs base alvo, uma por linha
--upload_endpoint UPLOAD_ENDPOINT
Caminho do endpoint de upload (ex: /uploads.action)
--paths PATHS [PATHS ...]
Caminhos de teste para path traversal
--filenames FILENAMES [FILENAMES ...]
Nomes de arquivo de payload personalizados
--payload PAYLOAD Conteúdo do payload JSP personalizado
-s THREADS, --threads THREADS
Número de threads a serem usadas (padrão: 5)
-o OUTPUT, --output OUTPUT
Caminho do arquivo para saída de URLs bem-sucedidas (padrão: success.txt)