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

الحالة
مغلق و غير مفتوح للمزيد من الردود.

omani hack

¬°•| عضــو شرف |•°¬
إنضم
18 يونيو 2008
المشاركات
2,128
الإعجابات
0
الإقامة
hack Kingdom
#1
السلام عليكم ورحمة الله وبركاته

ثغرة تم اكتشافها مؤخراً في النسخة الحديثة 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(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 . ......PATH . 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');
 
?>
احفظ الملف

بالتوفيق :):):)
 

السَعيدي

<font color="#ff0000">¬°•| إداري سابق|•°¬</span></
إنضم
21 سبتمبر 2007
المشاركات
9,912
الإعجابات
1
الإقامة
توام
#2


معلومات مفيده ومهمه جداً

الف شكر لك وما قصرت الصراحه

بارك الله فيك

 

لحن غجري

¬°•| مَـآلـكَم حـلَ |•°¬
إنضم
4 نوفمبر 2009
المشاركات
4,064
الإعجابات
0
#4
تسلم وماقصرت ع الملعومات

نتريا الزوووووود

وربي لاهانك
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.
أعلى