U3F1ZWV6ZTE1Njg4NDY3OTQ0X0FjdGl2YXRpb24xNzc3Mjg2OTg2NDQ=

PHP7 خطأ في تنفيذ تعليمات برمجية عن بعد للسماح لمختطفو القرصنة باختراق- مواقع الويب التي تعمل على خوادم- NGINX

PHP7 خطأ في تنفيذ تعليمات برمجية عن بعد للسماح لمختطفو القرصنة باختراق مواقع الويب التي تعمل على خوادم- NGINX

يسمح خطأ تنفيذ التعليمات البرمجية عن بُعد الجديد الذى تم تصحيحه مؤخرًا في PHP7 للقراصنة باختراق مواقع الويب التي تعمل على بعض تكوينات NGINX و php- fpm . يمكن تتبع الثغرة الأمنية على أنها CVE-2019-11043.

توجد ثغرة أمنية في env_path_info فى ملف fpm_main.c الخاص بمكون FPM. FPM هي وحدة php-fpm المستخدمة لتحسين الأداء.
يؤدي التلاعب بالملف إلى تلف الذاكرة ، ويسمح التسلسل مع نقاط الضعف الأخرى للمهاجمين بتنفيذ التعليمات البرمجية التعسفية عن بُعد على خوادم الويب ذات التكوينات الحساسة.
PHP7 كشف الضعف
و الضعف وجد الباحث أندرو الأمن Danau في برنامج Realworld CTF التي جرت بين 14 سبتمبر إلى 16، 2019.

"عندما أرسل أندرو داناو بايت 0٪ (سطر جديد) في عنوان URL ، كانت استجابة الخادم غريبة. تقوم بإرجاع بيانات أكثر مما يجب أن يكون هناك. وكان مقدار البيانات الإضافية مرتبطًا بعدد البايتات بعد٪ 0a داخل عنوان URL 
`` `
   الموقع ~ [^ /] \. php (/ | $) {
        fastcgi_split_path_info ^ (. +؟ \. php) (/.*) $؛
        fastcgi_param PATH_INFO $ fastcgi_path_info؛
        fastcgi_pass php: 9000؛
        ...
  }
}
`` `
قد يتسبب هذا النوع من الاستجابة في حدوث مشكلة في تلف الذاكرة وقد يؤدي إلى الكشف عن المعلومات. قرر كل من أندرو وعمر CTF إميل وعمر إجراء مزيد من التحقيقات واستغلالها.

"يكمن سبب هذه المشكلة في غطاء حزمة Nginx + fastcgi ، على وجه الخصوص ، فى توجيه fastcgi_split_path وحيل إعادة الاسترداد مع خطوط جديدة. بسبب ٪ 0 حرف، سوف إنجن إكس تعيين قيمة فارغة إلى هذا المتغير، وfastcgi + سوف PHP أكن أتوقع هذا، "يقرأ wallarm بلوق آخر .

نشر Emil استغلال PoC ، مما يدل على ضرورة تلبية بعض الشروط لاستغلال هذه الثغرة الأمنية.

Nginx + php-fpm لإعادة توجيه طلب التهيئة إلى php-fpm
و fastcgi_split_path_info يجب أن يكون التوجيه هناك، وتحتوي على التعبير العادي بدءا ^ وتنتهي مع $.
يتم تعيين متغير PATH_INFO بواسطة fastcgi_param
لا توجد اختبارات في مكان مثل try_files $ uri = 404 أو إذا (-f $ uri) لتحديد وجود الملف.
إذا استوفيت الشروط ، يعمل الاستغلال على إصدارات PHP 7+. قد يوجد الخطأ أيضًا فى الإصدارات الأقدم.

PHP7 Remote Code Execution Bug Let Hackers Hijack Websites Running On NGINX Servers

لذلك إذا كانت كل حالة ترضي المهاجمين تكون قادرة على تنفيذ الحمولات عن طريق إلحاق ؟ أ = إلى البرنامج النصي .

التخفيف
فيما يلي عمليات التخفيف من Nextcloud
إذا كنت لا تستخدم NGINX ، فلن تؤثر هذه الثغرة الأمنية عليك.
يوصى المستخدمين بالتحديث بأحدث الإصدارات 7.1.33،7.2.24 و 7.3.11.
يوصى بإزالة $ request_uri
ليست هناك تعليقات
إرسال تعليق

إرسال تعليق

اذا اعجبك الموضوع علق بتعليق If you like the subject, comment on the comment