
إثبات مفهوم قابل للتكرار لـ CVE-2021-3007 (إلغاء تسلسل HTTP في Laminas/Zend يؤدي إلى تنفيذ أوامر عن بُعد) مع سكربت استغلال مستقل، وقالب Nuclei، وبيئة ضعيفة قائمة على Docker للاختبار الأمني المصرح به.
يحتوي هذا المستودع على إثبات مفهوم (PoC) قابل لإعادة الإنتاج بالكامل وقالب استغلال Nuclei خاص بثغرة CVE-2021-3007، وهي ثغرة حرجة في إلغاء تسلسل PHP ضمن Zend\Http\Response\Stream (laminas-http < 2.14.2) تتيح كتابة ملفات عشوائية عبر كائنات متسلسلة يتحكم فيها المهاجم.
يستخدم هذا القالب منطق استغلال حقيقيًا (وليس كشفًا قائمًا على الإصدار)، ويتضمن بيئة Docker ومخرجات تصحيح (debug) للتحقق.
CVE-2021-3007/ ├── CVE-2021-3007.yaml -> قالب استغلال Nuclei ├── docker-compose.yml -> بيئة اختبار معرّضة للثغرة ├── Dockerfile ├── vulnerable-app/ │ ├── index.php -> نقطة نهاية معرّضة للثغرة عبر unserialize() │ └── composer.json -> تبعية معرّضة للثغرة ├── exploit.php -> سكربت استغلال مستقل └── README.txt
تشغيل التطبيق المعرّض للثغرة
docker-compose up -d
للتحقق: curl http://127.0.0.1:8080
اختبار الاستغلال اليدوي (اختياري)
docker exec -it cve-2021-3007-vulnerable php /var/www/html/exploit.php
http://localhost/index.php test.txt proof
تشغيل قالب Nuclei وجمع سجلات التصحيح
nuclei -u http://127.0.0.1:8080
-t CVE-2021-3007.yaml
-debug -vv
-o nuclei-debug-CVE-2021-3007.log
يحتوي سجل التصحيح على طلبات HTTP كاملة وبيانات الحمولة واستجابات التحقق من الاستغلال.
docker-compose down -v
يلبي إثبات المفهوم هذا متطلبات برنامج مكافآت Nuclei:
الملفات المطلوبة لتقديم طلب السحب (PR):
لأغراض تعليمية واختبار أمني مصرح به فقط.