
Уязвимая тестовая среда ThinkPHP 8.0.4 для валидации шаблона nuclei CVE-2024-44902
Уязвимое окружение для проверки nuclei-templates.
| Поле | Значение |
|---|
| Идентификатор CVE | CVE-2024-44902 |
| Критичность | Критическая (CVSS 9.8) |
| Продукт | ThinkPHP |
| Затронутые версии | 6.1.3 - 8.0.4 |
| Тип | Небезопасная десериализация → RCE |
| CWE | CWE-502 |
Версии ThinkPHP с 6.1.3 по 8.0.4 содержат уязвимость небезопасной десериализации. Если установлено PHP-расширение Memcached, злоумышленники могут выполнить произвольный код, отправив вредоносные сериализованные данные на конечную точку, которая вызывает unserialize() для пользовательского ввода.
Эксплойт использует цепочку гаджетов через внутренние классы 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
Это окружение представляет собой приложение ThinkPHP, созданное с помощью composer create-project:
topthink/think:v8.0.0topthink/framework:8.0.4 (уязвимый)/api/import?data=<serialized_payload>Уязвимый контроллер имитирует сценарии, в которых приложения:
Это корректная структура приложения ThinkPHP со стандартными маршрутизацией и паттернами контроллеров.
$ 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
Это НАМЕРЕННО УЯЗВИМОЕ окружение, предназначенное ТОЛЬКО для тестирования безопасности.