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

مشاهدة النسخة كاملة : ترقيع ثغرة Xss للنسخة 3.7.1


مخموخ
07-07-2008, 11:17 PM
بعد تأكيد موقع الـ

http://www.vbulletin.com (http://%3cbr%20/%3E%3Cbr%20/%3Ehttp://www.vbulletin.com)

بوجود ثغرة Xss في بعض من الملفات للنسخ 3.7.1 وكذلك 3.6.10

حيث تم طرح الإعلان على هذا الرابط

http://www.vbulletin.com/forum/showt...<br /> <br /> (http://www.vbulletin.com/forum/showthread.php?t=274882<br /><br />)

انصح الجميع اولاً بالترقية للأصدار الأخير 3.7.1 ومن ثم تركيب الباتش الخاص في إغلاق الثغرة

واللي يحب يغلق بنفسه يقدر يطبق الشروحات اللتي بالأسفل او تحميل الملف المرفق حيث قمت بترقيعه وهو جاهز للنسخة 3.7.1

كل اللي عليكم استبدال ملف functions.php وملف version_vbulletin.php بداخل مجلد الـ

includes
وكذلك إستبدال ملف index.php بداخل مجلد الـ admincp

الملفات المرقعة وجاهزة موجودة في نهاية الموضوع للي ما يبي يتعب
:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+

ترقيع ملف الـ index.php الموجود في مجلد الـ admincp

ابحث عن
$redirect = htmlspecialchars_uni

(fetch_replaced_session_url($vbulletin->GPC['redirect']));


استبدله بالتالي

$redirect = htmlspecialchars_uni

(fetch_replaced_session_url($vbulletin->GPC['redirect']));
$redirect = create_full_url($redirect);
$redirect = preg_replace(
array('/�*59;?/', '/&#x0*3B;?/i', '#;#'),
'%3B',
$redirect
);
$redirect = preg_replace('#&amp%3B#i', '&amp;',

$redirect);


وكذلك في نفس الـ index.php الموجود في مجلد الـ admincp

ابحث عن

$mainframe = "<frame src=\"" . iif(!empty($vbulletin-

>GPC['loc']) AND !preg_match('#^[a-z]+:#i', $vbulletin->GPC

['loc']), $vbulletin->GPC['loc'], "index.php?" . $vbulletin-

>session->vars['sessionurl'] . "do=home") . "\" name=\"main\"

scrolling=\"yes\" frameborder=\"0\" marginwidth=\"10\"

marginheight=\"10\" border=\"no\" />\n";


استبدله بالتالي

$mainframe = "<frame src=\"" . iif(!empty($vbulletin-

>GPC['loc']) AND !preg_match('#^[a-z]+:#i', $vbulletin->GPC

['loc']), create_full_url($vbulletin->GPC['loc']),

"index.php?" . $vbulletin->session->vars['sessionurl'] .

"do=home") . "\" name=\"main\" scrolling=\"yes\"

frameborder=\"0\" marginwidth=\"10\" marginheight=\"10\"

border=\"no\" />\n";



:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+

ترقيع ملف الـ functions.php الموجود في مجلد الـ includes

ابحث عن كلمة

if (!preg_match('#^[a-z]+://#i', $url))


استبدلها بالتالي

if (!preg_match('#^[a-z]+(?<!

about|**********|vbscript|data)://#i', $url))


وكذلك في نفس الملف functions.php الموجود في مجلد الـ includes



ابحث عن


{
$modcache

["$userid"]["$do"] = 1;
break;
}
}
else
{
$modcache["$userid"]

["$do"] = 1;
break;
}


استبدله بالتالي

{
$modcache

["$userid"]["$do"] = 1;
}
}
else
{
$modcache["$userid"]

["$do"] = 1;
}


:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+

في ملف version_vbulletin.php الموجود في مجلد الـ includes


ابحث عن

define('FILE_VERSION_VBULLETIN', '');

استبدله بالتالي

define('FILE_VERSION_VBULLETIN', '3.7.1 Patch Level 1');