الدعم العربي

نسخة كاملة : ترقيع امنى لنسخة MyBB 1.2.10
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
قد تكرم الأخ Xlissa بإعلامنا عن عدة ثغرات امنية بالنسخة الأخير لـ MyBB وهى MyBB 1.2.10
الثغرة تمكن الهكر من رفع ملفات شل من خلال الصور الرمزية او المرفقات بكل من الصيغ
.bmp او .zip او .rar
وبدورى قمت بإخبار فريق الدعم فى المنتدى الأم لـ MyBB

وقاموا بطرح سد للثغرة. لكنه فى نظرى غير كاف..

واليكم الحل الذى استخدم فى منتدانا هنا.
داخل ملف inc/functions_upload.php
ابحث عن
PHP كود :
$img_dimensions = @getimagesize($mybb->settings['avataruploadpath']."/".$filename);
    if(!
is_array($img_dimensions))
    { 
اضف بعدها التالى
PHP كود :
        @unlink($mybb->settings['avataruploadpath']."/".$filename); 

ابحث عن
PHP كود :
    if($img_dimensions[2] != $img_type || $img_type == 0)
    { 

اضف بعدها
PHP كود :
@unlink($mybb->settings['avataruploadpath']."/".$filename); 

ابحث عن
PHP كود :
if($ext == "gif" || $ext == "png" || $ext == "jpg" || $ext == "jpeg" || $ext == "jpe"
استبدلها بالتالى
PHP كود :
if($ext == "gif" || $ext == "png" || $ext == "jpg" || $ext == "jpeg" || $ext == "jpe" || $ext =="bmp"
داخل ملف attachment.php
ابحث عن
PHP كود :
if($ext == "txt" || $ext == "htm" || $ext == "html" || $ext == "pdf")
    {
        
header("Content-disposition: attachment; filename={$attachment['filename']}");
    } 

اضف بعده..
PHP كود :
elseif($ext == "zip" || $ext == "rar")
    {
        
header("Content-disposition: attachment; filename={$attachment['filename']}");
    } 

ملحوظة: بالنسبة لمشكلة المرفقات.. بما انه لا يوجد فى وثائق الـ php دالة للتحقق من انشاء شكل مصغر لصور الـ bmp فقد عجزت عن ايجاد طريقة للتحقق من صلاحية هذا الأمتداد, لنتأكد اذا كان الملف صورة ام شئ اخر.. ولذلك الكود اعلاه سيرفض المرفقات التى لها هذا الأمتداد.
جاري اعتماد الطريقة كل الشكر و التقدير
لكما اخواي Xlissa و Pepo
بارك الله فيكم على النصح
اخى بيبو هذا افضل ما فى ال MYBB

كل ثغراتها تكتشف وتسد بضرف لا يتعدى 24 ساعة

ما شاء الله عليكم

اخى عندى استفسار هليجب على مستخدمين

129 استعمال الاحتياط الامنى ويعدل على الملفات التى

تم طرحها فى مشاركتك

وشكرا لك اخى بيبو
بالتأكيد يا غالى
اذا كانت الثغرة موجودة فى mybb 1.2.10 فهذا يعنى انها لم تكتشف فى mybb 1.2.9
ولذلك يجب ان يطبق الترقيع
شكرا لك اخي Pepo على مجهودك الكبير للترقيع الامني
كما اشكر الاخ xlissa على تنبيهه للتغرات
جزاكم الله كل خير و جعله في ميزان حسناتكم
تقبلو تحياتي
العفووو اخواني هذا واجبنا ...
تقبلوا تحياتي Xlissa

ســــلام
جزاك الله كل خير أخ Xlissa على التنبيه على هذه الثغرة و جازا الله كل خير الأخ العزيز بيبو على إصلاحها.
اخي بيبو اكملت كل الخطوات التي شرحتها
و لكن فقط لم افهم جيدا هذه الملاحظة في الأخير
إقتباس :ملحوظة: بالنسبة لمشكلة المرفقات.. بما انه لا يوجد فى وثائق الـ php دالة للتحقق من انشاء شكل مصغر لصور الـ bmp فقد عجزت عن ايجاد طريقة للتحقق من صلاحية هذا الأمتداد, لنتأكد اذا كان الملف صورة ام شئ اخر.. ولذلك الكود اعلاه سيرفض المرفقات التى لها هذا الأمتداد.
ارجو التوضيح من فضلك

---------------------
اخي بيبو بالصدفة حاولت حذف رد من احد المواضيع فظهرت هذه الرسالة في اعلى الهايدر
Warning: Cannot modify header information - headers already sent by (output started at /home/*******/public_html/mb/inc/functions_upload.php:917) in /home/*******/public_html/mb/inc/functions.php on line 1171
و العملية تتم بشكل عادي
يبدوا انك اما لم تضع التعديلات بشكل صحيح.. او ان الملف محفوظ بترميز خاطئ..
عل كل حال استبدله بالملف المرفق..
جزاك الله خير بديا سؤال
هل منع المرفقات او تخصيصها للادمن فقد تجنب هدا المشكل
ام انه لازم سد التغرة حتى ولو ان المرفقات ممنوعة بالمنتدى او انها مخصصة فقط للادمن كما قلت؟
والف شكر والله فخر كبير ان العرب اصبحوا يسدون تغرات ويخبرون بها اصحاب المنتديات الغربية
الصفحات : 1 2