
استغلال إثبات المفهوم لـ CVE-2017-15715، يوضح تجاوز رفع ملفات Apache HTTPD mod_php باستخدام حرف سطر جديد زائد لتنفيذ ملفات PHP عشوائية.
مهمة حاوية whs (الدفعة الرابعة)
Apache HTTPD هو خادم HTTP شائع الاستخدام يمكنه تشغيل صفحات PHP عبر mod_php. من الإصدار 2.4.0 حتى 2.4.29، توجد ثغرة في تحليل الصيغة (Parsing)، حيث إذا كان اسم الملف ينتهي بـ .php، يتم التعرف عليه كملف PHP بصيغة 1.php\x0A، مما يسمح للمهاجم بتجاوز بعض سياسات أمان الخادم.
https://httpd.apache.org/security/vulnerabilities_24.html https://security.elarlang.eu/cve-2017-15715-apache-http-server-filesmatch-bypass-with-a-trailing-newline-at-the-end-of-the-file-name.html
نفّذ الأوامر التالية لبناء خادم Apache HTTPD المعرّض للثغرة: ''' docker compose build docker compose up -d '''
عند بدء تشغيل الخادم، يعمل Apache على http://my-ip:8080 الذي يُنشأ استنادًا إلى عنوان IP الخاص بي.
أولاً، عند إرسال ملف باسم 1.php، يمكنك ملاحظة أن الطلب يُرفض بسبب فحص الأمان مع ظهور رسالة bad file.

ومع ذلك، عند إضافة حرف سطر جديد وإرسال 1.php مرة أخرى، يمكنك ملاحظة أنه تم رفعه بنجاح. (تم ذلك من خلال إضافة 0a بجوار الاسم في قيم Hex داخل Burp Suite.)

عند الوصول إلى '/1.php%0a'، يتم تحليله بنجاح كملف PHP على الرغم من عدم وجود امتداد PHP مناسب. وهذا يؤكد وجود ثغرة في التحليل.
