المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : ثغرة Path Disclosure في نسخ vBulletin 3.5.0


VIP
07-10-2005, 03:56 PM
السلام عليكم

ثغره من نوع 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- إحفظ الملف وقم برفعه.

تحياتي لكم

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