
Este repositório contém um script Python projetado para explorar a CVE-2024-50379, uma vulnerabilidade que permite que atacantes façam upload de um shell JSP para um servidor vulnerável e executem comandos arbitrários remotamente. Este exploit é particularmente útil quando o diretório /uploads não está protegido ou não está presente no servidor de destino.
Este repositório contém um script Python projetado para explorar a CVE-2024-50379, uma vulnerabilidade que permite que atacantes façam upload de um shell JSP para um servidor vulnerável e executem comandos arbitrários remotamente. Este exploit é particularmente útil quando o diretório /uploads não está protegido ou está ausente no servidor alvo.
A CVE-2024-50379 é uma vulnerabilidade que afeta servidores que manipulam de forma inadequada uploads de arquivos, permitindo que um atacante faça upload de um shell JSP. Esse shell pode então ser usado para executar comandos arbitrários remotamente. O script Python fornecido automatiza esse processo, fazendo upload do shell para um servidor vulnerável e permitindo a interação com o servidor por meio de uma interface de linha de comando.
Antes de executar o script, certifique-se de ter o seguinte instalado:
Python 3.6+ (Recomendado)
Biblioteca requests. Instale-a usando pip:
pip install requests
O exploit tem como alvo sistemas que executam Apache Tomcat ou servidores semelhantes que não protegem adequadamente sua funcionalidade de upload de arquivos ou possuem diretórios /uploads mal configurados.
Importante: Esta ferramenta deve ser usada apenas em ambientes controlados, como testes de penetração com permissão ou para fins educacionais. O uso não autorizado desta ferramenta pode ser ilegal e antiético.
http:// a URLs sem esquema./uploads Ausente: Se o diretório /uploads não for encontrado, a ferramenta continua tentando fazer o upload do shell.Clone o repositório para sua máquina local:
git clone https://github.com/dragonked2/CVE-2024-50379-POC.git
cd CVE-2024-50379-POC
Certifique-se de ter as bibliotecas Python necessárias instaladas:
pip install requests
Execute o script com o seguinte comando:
python exploit_cve_2024_50379.py
O script solicitará que você insira a URL base do servidor vulnerável (ex.: http://localhost:8080). Se a URL não incluir http:// ou https://, ele adicionará automaticamente http://.
Assim que o shell JSP for enviado com sucesso, você poderá inserir comandos interativamente para executar no servidor. O script exibirá a saída.
Exemplo de interação:
[+] Enter the base URL (e.g., localhost:8080): http://127.0.0.1:8080
[+] Checking server accessibility...
[+] /uploads directory not found (404), but continuing with upload attempt...
[+] Attempting to upload shell (Attempt 1/3)...
[+] Shell uploaded successfully! Check the URL: http://127.0.0.1:8080/uploads/shell.jsp
[+] Enter the command to execute on the server (or 'exit' to quit): whoami
[+] Executing command: whoami
[+] Command output:
root
Digite exit para sair da ferramenta após concluir suas interações.
A ferramenta inclui um tratamento robusto de erros para problemas comuns, como:
Operações com falha serão repetidas automaticamente até três vezes com um atraso de 2 segundos entre as tentativas. Se uma operação falhar após as repetições, uma mensagem de erro será exibida.
Contribuições são bem-vindas! Se você encontrar bugs ou tiver sugestões de melhorias, sinta-se à vontade para abrir uma issue ou enviar um pull request.
Esta ferramenta é destinada apenas para fins educacionais e de teste de penetração. Não use esta ferramenta em sistemas que você não possui ou para os quais não tem permissão explícita para testar. O uso não autorizado é ilegal e pode resultar em acusações criminais.
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.
#, ##, ###) para organização.