ما المقصود بإدراج الملف وتنفيذ التعليمات البرمجية التعسفية؟ - مالكير
نشرت: 2023-04-13تضمين الملفات وتنفيذ التعليمات البرمجية التعسفية: في وقت سابق من هذا الشهر ، تم اختراق موقع ويب لتذاكر الطائرات مبني على WordPress مما ترك البيانات الشخصية لمئات الآلاف من الزوار مكشوفة. في منشور سابق حول سبب اختراق المتسللين ، ناقشنا جميع الأسباب التي تجعل المتسللين يتسللون بما في ذلك سرقة البيانات ، وإرسال رسائل بريد إلكتروني غير مرغوب فيها ، ويمكنهم حتى استخدام تقنيات تحسين محركات البحث للقبعة السوداء لتصنيف منتجاتهم (يوصى بالقراءة - اختراق الأدوية) ، وما إلى ذلك.
إن تعلم كيفية اختراق المتسللين لموقع الويب هو مفتاح لمنعهم وهذا هو السبب في أننا قمنا بإدراج هجمات الاختراق الأكثر شيوعًا التي تم إجراؤها على مواقع WordPress في مقال سابق.
عندما نتحدث عن هجمات الاختراق الشائعة ، فمن المحتمل جدًا أن تفكر في هجمات القوة الغاشمة. لكن هل تعلم أن تضمين الملف والتنفيذ التعسفي للكود يعد أيضًا أحد أكثر هجمات الاختراق شيوعًا على مواقع WordPress. في هذا المنشور ، سنتعمق أكثر في هذه الهجمات بهدف فهمها بالتفصيل.
لفهم كيفية عمل هذه الهجمات ، فإن أول شيء يجب أن تعرفه هو أنها تتضمن ملفات PHP.لا بد أنك تتساءل لماذا؟ ذلك لأن كلا من هجمات تضمين الملف وتنفيذ التعليمات البرمجية التعسفية تتضمن استخدام ملفات PHP.
لكن ما هو ملف PHP؟ فكر في خزانة مطبخ. يوجد داخل الخزانة عدد من العناصر مثل السكر والملح والتوابل والأواني وما إلى ذلك. كل من هذه العناصر لها غرض لتقديمها في المطبخ.ملف PHP عبارة عن خزانة والرموز الموجودة داخل الملفات هي العناصر التي تتيح تنفيذ وظائف معينة يريدها المخترق.هذا هو السبب الذي يجعل المتسللين يفضلون تحميل ملف PHP على أي ملفات أخرى مثل ملف JPEG أو PDF. ملفات JPEG و PDF غير قابلة للتنفيذ ، أي لا يمكن للقراصنة استخدام هذه الملفات لتنفيذ أي وظيفة. يمكن للمرء أن يقرأ فقط (أي عرض) لهم. لا يمكن استخدامها لإجراء أي تغييرات على موقع تم الاستيلاء عليه.
يمكن للمتسلل الذي قام بتحميل ملف PHP على خادم موقع الويب الخاص بك استخدامه لفعل أي شيء على موقع الويب الخاص بك. وهذا هو سبب استخدام ملفات PHP لتشغيل هجمات تضمين الملفات وتنفيذ التعليمات البرمجية التعسفية.
ما هو هجوم تضمين الملف؟
أفضل طريقة لفهم هجوم موقع معقد مثل هذا هو تمثيل سيناريو حقيقي. لنفترض أنك تدير موقعًا إلكترونيًا لمؤسستك وأن الموقع يسمى college.com. أنت تسمح لعدد قليل من الطلاب بالوصول إلى الموقع حتى يتمكنوا من نشر الصور التي تم التقاطها خلال حدث جامعي حديث. يسيء شخص ما استخدام الوصول الذي قدمته ويقوم بتحميل ملف PHP ضار (يُسمى hack.php) إلى موقع الويب. الهدف هو السيطرة على مواقع الكلية. عندما يقوم الطالب بتحميل ملف PHP الضار ، يتم تخزينه افتراضيًا في مجلد التحميل.يعرف أي شخص يعرف البنية الأساسية لـ WordPressأين يذهب الملف الذي تم تحميله.
يعمل الملف كباب يمكّن المتسلل من التفاعل مع الملف عن بُعد. لاحظ أن المخترق لا يزال لا يتحكم في الموقع ، لكن لديهم فقط نافذة للاتصال. لتسهيل فهمك ، تخيل أن الشخص "أ" يريد الذهاب إلى بلد لا يُسمح له بذلك. لذلك أرسل وكيلًا ، الشخص B.
ملفات PHP التي تم تحميلها على موقع الكلية —-> يتم تخزين الملف في خادم موقع الويب
يتم تدريب الشخص "ب" على أشياء قليلة فقط ويمكنه فعل الكثير فقط. لذلك يحتاج الشخص "أ" إلى إرشاده بشأن ما يجب فعله بعد ذلك. على نفس المنوال ، ينشئ ملف PHP نافذة اتصال ثم ينتظر المزيد من الأوامر من المخترق.
لنفترض أن hack.php تم إنشاؤه بطريقة تتيح تحميل المزيد من الملفات إلى موقع الويب. يقوم المخترق بإنشاء ملف (يسمى control.php) يقوم بتحميله باستخدام hack.php الموجود بالفعل في خادم موقع الويب. الملف الجديد - control.php سيمكن المتسلل من الوصول الكامل إلى موقع الويب. يستخدم النافذة التي يوفرها ملف hack.php لتحميل ملف control.php إلى الموقع.تسمى عملية تحميل ملف control.php باستخدام ملف (hack.php) موجود بالفعل على خادم موقع الويب تضمين الملف المحلي .
أحد الأمثلة الرائعة على تنفيذ الملف المحلي هو الثغرة الأمنية التي لوحظت في المكوّن الإضافي Easy Forms for MailChimp WordPress (الإصدار 6.0.5.5) . باستخدام المكون الإضافي MailChimp ، يمكن لمالكي مواقع الويب إضافة أنواع مختلفة من النماذج إلى موقع WordPress الخاص بهم. سمحت ثغرة أمنية للمتسللين بتحميل ملف PHP إلى خادم موقع الويب باستخدام نموذج MailChimp.بمجرد تخزين الملف على خادم موقع الويب ، تمكن المتسللون من التواصل معهم وتنفيذ الرموز التي ستمكنهم من التحكم في الخادم أو إتلاف الموقع بعدة طرق.
إليك سيناريو: يحتوي موقع الكلية على جدار حماية مثبت ، وبالتالي لا يمكن للمتسلل تحميل control.php. بينما لا يمكنه تحميل ملف منفصل آخر ، يمكنه "تضمين" ملف. هذا يعني أنه يمكنه إدخال ملف داخل ملف hack.php الموجود بالفعل على خادم موقع الكلية. إذا كان المخترق قادرًا على تحميل ملف control.php ، فسيقوم خادم موقع الويب بقراءة الملف وتنفيذ الكود الموجود بداخله والذي سيمكن المتسلل من فعل أي شيء يريده. ولكن نظرًا لأنه لا يمكنه تحميل الملف ، فسيتعين عليه إيجاد طرق أخرى لجعل الخادم يقرأ ملف control.php. يتوفر المسار الذي تم إنشاؤه بواسطة أحد المتطفلين عبر الإنترنت ويجب أن يكون خادم موقع الكلية قادرًا على قراءته. لذلك يقوم المتسلل بإنشاء مسار وإتاحته عبر الإنترنت حتى يتمكن خادم موقع الكلية من قراءته. يبدأ الخادم بعد ذلك في تنفيذ الكود الذي تم الحصول عليه من المسار ، وبما أن الشفرة مكتوبة بطريقة تسمح للمتسلل بالتحكم الكامل في الموقع ، يتحكم الاختراق الآن في موقع الكلية على الويب. تسمى عملية جعل الخادم يقرأ ملفًا بعيدًا تضمين ملف بعيد.
حالة الثغرة الأمنية TimThumb هي مثال شائع على Remote File Inclusion. كان TimThumb مكونًا إضافيًا لبرنامج WordPress يسمح بتحرير الصور بسهولة على موقع WordPress. مكن أي شخص من استخدام الصور المشتراة من مواقع مشاركة الصور مثل imgur.com و flickr.com. يتعرف TimThumb على imgur كموقع صالح (أو مدرج في القائمة البيضاء). يقوم المتسللون الذين يستفيدون من هذه المعايير بإنشاء ملفات تحتوي على عناوين URL تشير إلى موقع صالح مثل http://www.imgur.com.badsite.com.عندما يقومون بتحميل ملف ضار بعنوان URL مثل العنوان الذي ذكرناه أعلاه ، ينخدع المكون الإضافي بالاعتقاد أن الملف يأتي من موقع ويب صالح.ويسمح بتحميل ملف ضار إلى خادم الموقع. هذه العملية الكاملة لتضمين ملف ضار من خارج خادم موقع الويب من خلال الاستفادة من ثغرة أمنية في أحد المكونات الإضافية هي Remote File Inclusion. بعد تخزين ملف PHP الضار في خادم موقع الويب ، يمكن للقراصنة التواصل معه لتنفيذ الإجراءات المطلوبة.
ما هو هجوم تنفيذ قانون تعسفي؟
الآن بعد أن عرفنا ما هو تضمين الملفات عن بُعد والمحلي ، دعنا ننتقل ونحاول ونفهم ما هو تنفيذ التعليمات البرمجية التعسفية. إدراج الملف وإدراج الكود التعسفي مرتبطان ببعضهما البعض. في أي حالة من حالات تضمين الملف ، يهدف المتسللون إلى تنفيذ رمز تعسفي على موقع الويب. دعنا نعود إلى مثال تضمين الملف المحلي حيث قام المخترق بتحميل hack.php في موقع الكلية ثم قام بتحميل control.php بمساعدة hack.php.عبارة Arbitrary Code Execution هي وصف لقدرة المخترق على تنفيذ أي أمر من اختياره على موقع ويب تم اختراقه.بمجرد وصول ملفات PHP (hack.php و control.php) على خادم موقع الويب ، يمكن للمتسلل تنفيذ أي كود يرغب فيه. تسمى عملية تنفيذ أي كود من الملفات التي قام بتحميلها باسم Arbitrary Code Execution.
المأجورون معقدة. في هذا المنشور ، حاولنا شرح الأمر على أنه أمر بسيط ولكن إذا كان هناك جزء لا معنى له بالنسبة لك ، فنحن نحث قرائنا على الكتابة إلينا . في المنشور التالي ، نناقش هجوم اختراق آخر شائع على موقع WordPress يسمى Cross-Site Scripting (XSS). إلق نظرة.