مقدمة

لقد غطينا كيفية تجاوز وظائف التعطيل في php وكيفية تجنب مرشحات التحميل في جهاز TryHackMe هذا.

ما هي ثغرة تحميل الملفات؟
تحدث هذه الثغرة الأمنية في تطبيقات الويب حيث توجد إمكانية تحميل ملف دون أن يتم فحصه بواسطة نظام أمان يحد من المخاطر المحتملة.
فهو يسمح للمهاجم بتحميل الملفات ذات التعليمات البرمجية (البرامج النصية مثل .php و.aspx والمزيد) وتشغيلها على نفس الخادم، مزيد من المعلومات في هذا غرفة.
لماذا هذه الغرفة؟
ومن بين الإجراءات المطبقة عادةً تعطيل الوظائف الخطيرة التي يمكنها تنفيذ أوامر نظام التشغيل أو بدء العمليات. غالبًا ما يتم تعطيل الوظائف مثل system() أو shell_exec() من خلال توجيهات PHP المحددة في ملف التكوين php.ini. وظائف أخرى، ربما تكون أقل شهرة باسم dl() (والتي تسمح لك بتحميل ملحق PHP ديناميكيًا)، يمكن أن تمر دون أن يلاحظها مسؤول النظام ولا يتم تعطيلها. الشيء المعتاد في اختبار التسلل هو إدراج الوظائف التي يتم تمكينها في حالة نسيان أي منها.
إحدى أسهل التقنيات التي يمكن تطبيقها وغير المنتشرة على نطاق واسع هي إساءة استخدام وظائف mail() وputenv(). هذه التقنية ليست جديدة، وقد تم الإبلاغ عنها بالفعل PHP في عام 2008 بواسطة gat3way، لكنه لا يزال يعمل حتى يومنا هذا. من خلال الدالة putenv()‎، يمكننا تعديل متغيرات البيئة، مما يسمح لنا بتعيين القيمة التي نريدها للمتغير LD_PRELOAD. سيسمح لنا LD_PRELOAD تقريبًا بالتحميل المسبق لمكتبة .so قبل بقية المكتبات، بحيث إذا كان البرنامج يستخدم وظيفة مكتبة (libc.so على سبيل المثال)، فسوف ينفذ الوظيفة الموجودة في مكتبتنا بدلاً من وظيفة المكتبة. واحد ينبغي. وبهذه الطريقة، يمكننا اختطاف الوظائف أو "ربطها" وتعديل سلوكها حسب الرغبة.

أسئلة وأجوبة التحدي

قم باختراق الجهاز وتحديد موقع ملف flag.txt

جولة بالفيديو

عن المؤلف

أقوم بإنشاء ملاحظات حول الأمن السيبراني وملاحظات التسويق الرقمي والدورات التدريبية عبر الإنترنت. أقدم أيضًا استشارات التسويق الرقمي بما في ذلك، على سبيل المثال لا الحصر، تحسين محركات البحث وإعلانات Google وMeta وإدارة CRM.

عرض المقالات