عرض مشاركة واحدة
قديم 07-29-2010, 04:54 PM   رقم المشاركة : 1 (permalink)
معلومات العضو
remoter
 
الصورة الرمزية remoter
 

 

 
إحصائية العضو







remoter غير متواجد حالياً

إرسال رسالة عبر MSN إلى remoter

 

 

إحصائية الترشيح

عدد النقاط : 10
remoter is on a distinguished road

................ ترقيع pl1 للنسخة 3.7.3


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

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

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


الترقيع :
ملاحظة: هذا الباتش فقط للنسخة 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(11000000)) . '" 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(11000000)); 

استبدله بــ:

كود PHP:
return md5(uniqid(microtime(), true)); 
احفظ الملف

[line]-[/line]

ثالثاً: في ملف 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;

احفظ الملف.
[line]-[/line]

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

كود PHP:
 
<?php
 
define
('FILE_VERSION_VBULLETIN''3.7.3 Patch Level 1');
 
?>
احفظ الملف.


تقبلــوا تحيــآتي smilies11


jvrdu pl1 ggksom 3>7>3

   

رد مع اقتباس