استضافة ترايدنت لكل العرب


انضم إلى المنتدى ، فالأمر سريع وسهل

استضافة ترايدنت لكل العرب
استضافة ترايدنت لكل العرب
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

ترقيع PL1 للنسخة 3.7.3

اذهب الى الأسفل

ترقيع PL1 للنسخة 3.7.3 Empty ترقيع PL1 للنسخة 3.7.3

مُساهمة  الرسالي الأربعاء أغسطس 19, 2009 4:26 am

السلام عليكم ورحمة الله وبركاته

ثغرة تم اكتشافها مؤخراً في النسخة الحديثة 3.7.3 تسمح للهكر للوصول لحساب الأعضاء الآخرين، الثغرة تتعلق بتوليد الأرقام العشوائية مثلاً عند استعادة كلمة المرور أو إرسال رمز التفعيل. تقول الشركة أن كود البي اتش بي الذي يقوم بتوليد هذه الأرقام العشوائية يمكن للهكر أن يتوقع أرقامه التي يولدها ويكتشفها بسهولة..

المصدر:
http://www.vbulletin.com/forum/showthread.php?t=283962

رابط ذا صلة:
http://www.traidnt.net/vb/showthread.php?t=960384

الترقيع :
ملاحظة: هذا الباتش فقط للنسخة 3.7.3 لأن الثغرة فقط في هذه النسخة.
1- للأعضاء المرخصين توجه إلى الرابط التالي وقم بتحميل الباتش:
http://members.vbulletin.com/patches.php

2- للأعضاء الغير مرخصين بإمكانك التعديل على الملفات المصابة:

أولاً: في ملف global.php الموجود في مجلد المنتدى الرئيسي
ابحث عن:

رمز PHP:
$cronimage = '<img src="' . create_full_url('cron.php?' . $vbulletin->session->vars['sessionurl'] . 'rand=' . vbrand(1, 1000000)) . '" alt="" width="1" height="1" border="0" />';

واستبدله بـ:

رمز PHP:
$cronimage = '<img src="' . create_full_url('cron.php?' . $vbulletin->session->vars['sessionurl'] . 'rand=' . TIMENOW) . '" alt="" width="1" height="1" border="0" />';

احفظ الملف.


ثانياً: في ملف class_core.php الموجود في مجلد includes
ابحث عن:

رمز PHP:
return md5(TIMENOW . SCRIPTPATH . SESSION_IDHASH . SESSION_HOST . vbrand(1, 1000000));

استبدله بـ:

رمز PHP:
return md5(uniqid(microtime(), true));

احفظ الملف

ثالثاً: في ملف functions.php الموجود في مجلد includes
ابحث عن:

رمز PHP:
// #############################################################################
/**
* vBulletin's own random number generator
*
* @param integer Minimum desired value
* @param integer Maximum desired value
* @param mixed Seed for the number generator (if not specified, a new seed will be generated)
*/
function vbrand($min, $max, $seed = -1)
{
if (!defined('RAND_SEEDED'))
{
if ($seed == -1)
{
$seed = (double) microtime() * 1000000;
}

mt_srand($seed);
define('RAND_SEEDED', true);
}

return mt_rand($min, $max);
}

استبدله بـ:

رمز PHP:
// #############################################################################
/**
* vBulletin's own random number generator
*
* @param integer Minimum desired value
* @param integer Maximum desired value
* @param mixed No longer used, was previously seed to the generator
*/
function vbrand($min = 0, $max = 0, $seed = null)
{
mt_srand(crc32(microtime()));

if ($max AND $max <= mt_getrandmax())
{
$number = mt_rand($min, $max);
}
else
{
$number = mt_rand();
}
// reseed so any calls outside this function don't get the second number
mt_srand();

return $number;
}

احفظ الملف.

رابعاً: في ملف version_vbulletin.php الموجود في مجلد includes
استبدل كامل محتواه بـ:

رمز PHP:
<?php

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

?>
احفظ الملف.


مع تمنياتي لكم بالتوفيق
الرسالي
الرسالي

عدد المساهمات : 45
تاريخ التسجيل : 18/08/2009

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى