عرض مشاركة واحدة
  #1  
قديم 09-12-2008, 11:24 PM
الصورة الرمزية M®.Ali
M®.Ali M®.Ali غير متواجد حالياً
:: مراقـب عـام ::
 
تاريخ التسجيل: Sep 2008
الدولة: في حدود مدعوم
المشاركات: 464
التقييم: 50
M®.Ali مميز
» باتش « vBulletin 3.7.3 PL1 .. مع كيفية الترقيع





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

****
****


الخبر من الشركة الام :
إضغط هنا

*

1- للأعضاء المرخصين توجه إلى الرابط التالي وقم بتحميل الباتش:
إضغط هنا إذا كان عندك الترخيص

**
***

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

افتح ملف global.php الموجود فى مجلد المنتدى vB
ابحث عن :


كود:
$cronimage = '<img src="' . create_full_url('cron.php?' . $vbulletin->session->vars['sessionurl'] . 'rand=' .  vbrand(1, 1000000)) . '" alt="" width="1" height="1" border="0" />';
استبدله بـ :

كود:
$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(11000000)); 
استبدله بـ :

كود PHP:
return md5(uniqid(microtime(), true)); 

*****
*****

افتح ملف version_vbulletin.php الموجود فى includes
استبدل كامل محتواه بـ :

اقتباس:
<?php

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

?>
******
******

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

اقتباس:
// ################################################## ###########################
/**
* 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
);
}
استبدله بـ :

اقتباس:
// ################################################## ###########################
/**
* 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
;
}
****
******

والله يوفق الجميع إن شاء الله في الترقيع





التوقيع