| ||||
| | ||||
| | الصفحة الرئيسية :: الشركات الرسمية :: شركات الإستضافة :: شركات التصميم :: الشركات الاعلانية :: شركات الدعم الفني :: شروط إضافة موقع | |||
| | رقم المشاركة : 1 (permalink) | ||
|
|
موضوع رائع جدا للاخ العندليب نقلته للفائدة كود PHP: بعد إدخال القالب السابق على أحد دوال الـ php evaluate يصبح القالب بالشكل التالي: كود PHP: كود PHP: المرحله الأولى دالة fetch_template تقوم بإستدعاء القالب المسمى template_name وتضع محتواه بين علامتي التنصيص " " ليصبح السطر حسب الشكل التالي: كود PHP: يتم تنفيذ دالة eval ويصبح متغير $var حاملاً لقيمة القالب بعد احتساب مابداخله من قيم أخرى. مكان الخطوره: الخطر الأول في هذا السطر البرمجي من علامات التنصيص. فإذا قام المخترق بتحرير أحد القوالب ووضع بداخلها على سبيل المثال السطر التالي: كود PHP: كود PHP: علامة التنصيص والنقطه جعلت المخترق يقوم بتحوير عمل السطر البرمجي من إحتساب للقيم الموجوده بالقالب الى تنفيذ دوال يتضمنها القالب وحتى يتحقق مايريد يجب أن يستخدم التنصيص للفصل والنقطه للوصل. وهذه مصيبه فعلا فقد بدأ الأطفال بإستغلالها بوضع أكوداهم ونشرها في الإستايلات المنتشره فأرجوا التنبه الى ذلك فعدد الأشخاص الغير معروفين الذين ينشرون الاستايلات الغير معروفه في كل مكان، والله العالم بما تحتويه هذه الإستايلات من أكواد برمجيه فلا تستخدموا استايلات من أشخاص غير معروفين. ربما يأتي بعض المبرمجين ويستخدم دالة addslashes لعمل الترقيع لهذا السطر البرمجي قبل إدخال القالب لدالة eval وهذا خطأ كبير لأن بعض القوالب السليمه تحتوي على علامات تنصيص معطله برمز السلاش حسب التسلسل التالي "\ فاذا تم إدخالها على دالة addslashes أصبحت على التسلسل التالي "\\ وبهذا الشكل يتم تفعيل التنصيص وتظهر أخطاء في دالة eval ويتلف القالب السليم الغير ملغم. سأتكلم عن عملية الترقيع الصحيحه لاحقاً. الخطر الثاني من متغيرات تسمى nested_variables ( المتغيرات المتنكره ). وفيه يتم إستدعاء متغير بإسم داله php !!! ربما يبدو الأمر لغزاً ولكنه حقيقه مع الـ php ومرونتها العجيبه وهذا في نظري عيب أمني كبير موجود في لغة الـ php منذ القدم ولم يتم ترقيعه حتى يومنا هذا وعن طريقها لن يستخدم المخترق أي علامات تنصيص أو نقطه ويستخدم فيها الأقواس الخاصه { } مع علامة الـ $ أو علامة @ فمثلا: كود PHP: كود PHP: [فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات . إضغط هنا للتسجيل] الترقيع: الحقيقه تعبت كثيراً من إيجاد طريقه فعاله للترقيع وفي نظري أفضل ترقيع لمنتديات الـ vbulletin كالتالي: 1- إفتح ملف functions.php وابحث عن السطر التالي: كود PHP: كود PHP: 3- احفظ الملف وقم برفعه. طريقة الترقيع تكمن في فحص القالب بعد إزالة المسافات والعلامات الأخرى التي تستخدم في الكتابه فإذا وجد في القالب أياً من العلامات الخطيره التي أشرنا لها في المخاطر السابقه فسوف يقوم الكود بتفريغ محتوى القالب ويتم الرجوع الى دالة eval بقالب فارغ. الترقيع يعمل معي على نسخ 3.0 ولم أقم بتجربته على النسخ الجديده وأتمنى تجربته وإبداء أرائكم حوله. إحتياطات أمنيه في الوقت الراهن: 1- أنصح الجميع كافه بمختلف انواع المنتديات فحص قوالبهم حول ماذكرناها. 2- مخاطبة المستضيفين لتركيب ترقيعة الـ php الشهيره Suhosin Patch+Suhosin Extension وبإمكانهم الحصول عليها من الرابط التالي: [فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات . إضغط هنا للتسجيل] أعذروني على الإطاله وقلة المشاركه وأرجوا إثراء الموضوع بالنقاش البناء. موضوع رائع جدا للاخ العندليب نقلته للفائدة
آخر تعديل araweb يوم 25-Nov-2007 في 04:34 PM. | ||
|
| |
| | رقم المشاركة : 2 (permalink) | ||
|
|
بصراااحه شرح مذهل وموووضح جدا
| ||
|
| |
![]() |
| أدوات الموضوع | |
| طرق مشاهدة الموضوع | |
|
|
| |
| اشتراك في "مجموعة العالم التقني العربي" Arab Technical World |
| زيارة هذه المجموعة |
| جميع الحقوق محفوظة لمنتديات شبكة آرا ويب لخدمات الانترنت © 2007 | |