
Verwundbare ThinkPHP 8.0.4 Testumgebung für die nuclei-Vorlagenvalidierung von CVE-2024-44902
Verwundbare Umgebung zur Validierung von nuclei-templates.
| Feld | Wert |
|---|---|
| CVE ID | CVE-2024-44902 |
| Schweregrad | Kritisch (CVSS 9.8) |
| Produkt | ThinkPHP |
| Betroffene Versionen | 6.1.3 - 8.0.4 |
| Typ | Unsicheres Deserialisieren → RCE |
| CWE | CWE-502 |
Die ThinkPHP-Versionen 6.1.3 bis 8.0.4 enthalten eine Schwachstelle durch unsicheres Deserialisieren. Wenn die Memcached PHP-Erweiterung installiert ist, können Angreifer beliebigen Code ausführen, indem sie schädliche serialisierte Daten an einen Endpunkt senden, der unserialize() auf Benutzereingaben aufruft.
Der Exploit nutzt eine Gadget-Kette durch die internen Klassen von 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
Diese Umgebung ist eine ThinkPHP-Anwendung, die mit composer create-project erstellt wurde:
topthink/think:v8.0.0topthink/framework:8.0.4 (verwundbar)/api/import?data=<serialized_payload>Der verwundbare Controller simuliert Szenarien, in denen Anwendungen:
Dies ist eine ordnungsgemäße ThinkPHP-Anwendungsstruktur mit Standard-Routing- und Controller-Mustern.
$ 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
Dies ist eine ABSICHTLICH VERWUNDBARE Umgebung, die NUR für Sicherheitstests bestimmt ist.