
Environnement de test vulnérable ThinkPHP 8.0.4 pour la validation de modèles nuclei CVE-2024-44902
Environnement vulnérable pour la validation de nuclei-templates.
| Champ | Valeur |
|---|
| ID CVE | CVE-2024-44902 |
| Sévérité | Critique (CVSS 9.8) |
| Produit | ThinkPHP |
| Versions affectées | 6.1.3 - 8.0.4 |
| Type | Désérialisation non sécurisée → RCE |
| CWE | CWE-502 |
Les versions de ThinkPHP 6.1.3 à 8.0.4 contiennent une vulnérabilité de désérialisation non sécurisée. Lorsque l'extension PHP Memcached est installée, les attaquants peuvent exécuter du code arbitraire en envoyant des données sérialisées malveillantes à un point de terminaison qui appelle unserialize() sur une entrée utilisateur.
L'exploit exploite une chaîne de gadgets à travers les classes internes de 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
# Vérifier que l'application est en cours d'exécution
curl http://localhost:8080/
# Tester avec le template nuclei
nuclei -t CVE-2024-44902.yaml -u http://localhost:8080 -debug
# Nettoyage
docker compose down
Cet environnement est une application ThinkPHP créée avec composer create-project :
topthink/think:v8.0.0topthink/framework:8.0.4 (vulnérable)/api/import?data=<serialized_payload>Le contrôleur vulnérable simule des scénarios où les applications :
Il s'agit d'une structure d'application ThinkPHP correcte avec un routage et des modèles de contrôleur standard.
$ 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
# Aucun résultat
Cet environnement est VOLONTAIREMENT VULNÉRABLE et destiné UNIQUEMENT aux tests de sécurité.