
بيئة اختبار 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 على ثغرة إلغاء تسلسل غير آمنة. عند تثبيت امتداد Memcached لـ PHP، يمكن للمهاجمين تنفيذ تعليمات برمجية عشوائية بإرسال بيانات مسلسلة خبيثة إلى نقطة نهاية تستدعي unserialize() على إدخال المستخدم.
يستغل هذا الاستغلال سلسلة أدوات (gadget chain) عبر الفئات الداخلية في 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
هذه بيئة معرضة للثغرات عن قصد ولأغراض الاختبارات الأمنية فقط.