عرض مشاركة واحدة
  #1  
قديم 07-10-2005, 03:56 PM
الصورة الرمزية VIP
VIP VIP متصل الآن

AdminiStrator

 





VIP كاتب مميزVIP كاتب مميزVIP كاتب مميزVIP كاتب مميز
ثغرة Path Disclosure في نسخ vBulletin 3.5.0

السلام عليكم

ثغره من نوع Path Disclosure ومستواها متوسط وعن طريقها يستطيع المخترق معرفة دليل الموقع موجود بأي مكان على الخادم

الثغره موجوده في ملف class_core.php وبالتحديد في سطر رقم 1365

كود:
foreach ($this->superglobal_lookup AS $arrayname)
            {
                $registry->superglobal_size["$arrayname"] = sizeof($GLOBALS["$arrayname"]);

                foreach (array_keys($GLOBALS["$arrayname"]) AS $varname)
                {
                    unset($GLOBALS["$varname"]);  <<------ تقوم بإزالة المتغيرات من المصفوفه العامه وهنا الخطأ حيث يجب ان تتأكد من المتغير قبل إزالته وكما تلاحظون لا يوجد شرط للتحقق
                }
            }
الترقيع:
1- افتح ملف class_core.php وابحث عن السطر التالي

كود:
unset($GLOBALS["$varname"]);
2- إستبدله بالأتي:

كود:
if( !in_array($varname, $this->superglobal_lookup ))
             unset($GLOBALS["$varname"]);
3- إحفظ الملف وقم برفعه.

تحياتي لكم

من شرح أخونا
العندليب

 

 

توقيع : VIP