عرض مشاركة واحدة
   
قديم 24-12-2008, 09:24 PM رقم المشاركة : 1
معلومات العضو

الصورة الرمزية الـسـيـف

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






الـسـيـف is on a distinguished road

 

الـسـيـف غير متواجد حالياً

 



الاوسمة

المنتدى : قوافل التكنولوجيا والإتصالات والجرافيكس
افتراضي ترقيع pl1 للنسخة 3.7.3

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

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



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

كود PHP

			
                             $cronimage '<img src="' create_full_url('cron.php?' $vbulletin->session->vars['sessionurl'] . 'rand=' .  vbrand(1, (يمنع عرض أرقام الهواتف بدون أذن الإدارة))) . '" alt="" width="1" height="1" border="0" />'


واستبدله بـ:
رمز PHP:

كود 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:


كود PHP

			
                         return md5(TIMENOW SCRIPTPATH SESSION_IDHASH SESSION_HOST vbrand(1, (يمنع عرض أرقام الهواتف بدون أذن الإدارة))); 




استبدله بـ:
رمز PHP:


كود PHP

			
  return md5(uniqid(microtime(), true)); 




احفظ الملف

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


كود 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() * (يمنع عرض أرقام الهواتف بدون أذن الإدارة);
        }
 
        
mt_srand($seed);
        
define('RAND_SEEDED'true);
    }
 
    return 
mt_rand($min$max);






استبدله بـ:
رمز PHP:


كود 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

			
<?php

 
define
('FILE_VERSION_VBULLETIN''3.7.3 Patch Level 1');
 
?>



ثم أحفظ الملف . .

أتمنى لكم التوفيق . . ( الـســيــف ) . .






التوقيع

اضغط على الصورة لرؤيتها بالحجم الطبيعي

رد مع اقتباس