
PoC exploit per CVE-2024-52302: upload di file senza restrizioni nell'app Spring Boot common-user-management che porta all'esecuzione remota di codice tramite l'endpoint /api/v1/customer/profile-picture.
Ho scoperto una vulnerabilità di sicurezza critica in common-user-management, una robusta applicazione Spring Boot con servizi di gestione utenti progettati per controllare dinamicamente l'accesso degli utenti. Questa vulnerabilità interessa l'endpoint /api/v1/customer/profile-picture, consentendo agli attaccanti di caricare file senza una corretta validazione, il che può portare a Esecuzione di Codice Remota (RCE).
Puoi sfruttare questa vulnerabilità utilizzando il seguente script Python:
python exploit.py -u "customer_user" -p "your_password" -f "malicious.jsp" -url "https://target.com"
-u: Username
-p: Password
-f: Malicious file to upload
-url: Target URL
Esiste una vulnerabilità di sicurezza critica nell'endpoint /api/v1/customer/profile-picture. Questo endpoint consente il caricamento di file senza una corretta validazione o restrizioni, permettendo agli attaccanti di caricare file dannosi che possono portare a Esecuzione di Codice Remota (RCE).
Descrizione della Vulnerabilità
Il problema deriva dalla mancanza di validazione sull'estensione del file e sull'header Content-Type. Di conseguenza, l'applicazione consente il caricamento di file arbitrari, inclusi:
Questi file possono poi essere eseguiti dal server web, consentendo agli attaccanti di eseguire codice arbitrario sul server, compromettendo potenzialmente l'intero sistema.
Caricare un File Dannoso: Inviare una richiesta PUT a /api/v1/customer/profile-picture utilizzando un customer con ruolo 26,17, con un payload di file dannoso (es., .jsp, .php, .html).
Ottenere la posizione del file: Inviare una richiesta GET a /api/v1/customer/my-profile, estrarre la posizione del file nella risposta con il link del profilo.
Eseguire il File Caricato: Utilizzando il nome del file, accedere direttamente al file tramite l'URL restituito nella risposta. Se il server supporta il tipo di file caricato, eseguirà il file, portando a Esecuzione di Codice Remota.