
Ambiente di test ThinkPHP 8.0.4 vulnerabile per la validazione del template nuclei per CVE-2024-44902
Ambiente vulnerabile per la validazione di nuclei-templates.
| Campo | Valore |
|---|
| CVE ID | CVE-2024-44902 |
| Gravità | Critica (CVSS 9.8) |
| Prodotto | ThinkPHP |
| Versioni Interessate | 6.1.3 - 8.0.4 |
| Tipo | Deserializzazione non sicura → RCE |
| CWE | CWE-502 |
Le versioni di ThinkPHP dalla 6.1.3 alla 8.0.4 contengono una vulnerabilità di deserializzazione non sicura. Quando l'estensione PHP Memcached è installata, gli attaccanti possono eseguire codice arbitrario inviando dati serializzati malevoli a un endpoint che chiama unserialize() su input utente.
L'exploit sfrutta una catena di gadget attraverso le classi interne di ThinkPHP:
ResourceRegister → DbManager → Memcached → Pivot → Model
git clone https://github.com/KrE80r/CVE-2024-44902-env.git
cd CVE-2024-44902-env
docker compose up -d
# Verify app is running
curl http://localhost:8080/
# Test with nuclei template
nuclei -t CVE-2024-44902.yaml -u http://localhost:8080 -debug
# Cleanup
docker compose down
Questo ambiente è un'applicazione ThinkPHP creata con composer create-project:
topthink/think:v8.0.0topthink/framework:8.0.4 (vulnerabile)/api/import?data=<serialized_payload>Il controller vulnerabile simula scenari in cui le applicazioni:
Questa è una struttura applicativa ThinkPHP corretta con routing standard e pattern di controller.
$ nuclei -t CVE-2024-44902.yaml -u http://localhost:8080
[CVE-2024-44902] [http] [critical] http://localhost:8080/api/import?data=...
$ nuclei -t CVE-2024-44902.yaml -u http://localhost:8090 # httpd:latest
# No results
Questo è un ambiente DELIBERATAMENTE VULNERABILE esclusivamente per test di sicurezza.