عرض مشاركة واحدة
  #1  
قديم 09-13-2008, 06:32 AM
الصورة الرمزية Miss Dla3
Miss Dla3 Miss Dla3 غير متواجد حالياً
:: عضو مبدع ::
 
تاريخ التسجيل: Sep 2008
المشاركات: 149
التقييم: 1050
Miss Dla3 شرف للناديMiss Dla3 شرف للناديMiss Dla3 شرف للناديMiss Dla3 شرف للناديMiss Dla3 شرف للناديMiss Dla3 شرف للناديMiss Dla3 شرف للناديMiss Dla3 شرف للنادي
افتراضي باتش pl1 للنسخة 3.7.2

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

الكل يعلم أنه قبل أيام تم ترقيع ثغرة xss في النسخة 3.7.2 أثناء العمل في debug mode
المصدر: http://www.vbulletin.com/forum/showthread.php?p=1591431


الترقيع :

1- للأعضاء المرخصين توجه إلى الرابط التالي:
http://members.vbulletin.com/patches.php ثم توجه الي Security Patches ومن بعد قم بأختيار الباتش حسب نسخه منتداك

2- للأعضاء الغير مرخصين طبق التعديلات التاليه

ملف adminlog.php الموجود داخل مجلد admincp او اسمه الجديد اذا كنت مغير اسم المجلد

ابحث عن

كود PHP:
                'userid'           => TYPE_UINT
                
'script'           => TYPE_STR
استبدل بـ
كود PHP:
'userid'        => TYPE_UINT
                
'script'        => TYPE_NOHTML
انتهي
============================


ملف adminfunctions.php الموجود داخل مجلد includes

ابحث عن


كود PHP:
echo "<p align=\"center\" class=\"smallfont\">SQL Queries (" $vbulletin->db->querycount ") | " . (!empty($cvsversion) ? "$cvsversion | " '') . "<a href=\"" $vbulletin->scriptpath iif(strpos($vbulletin->scriptpath'?') > 0'&amp;''?') . "explain=1\">Explain</a></p>"


اضف اسفله


كود PHP:
              if (function_exists('memory_get_usage')) 
                        { 
                                echo 
"<p align=\"center\" class=\"smallfont\">Memory Usage: " vb_number_format(round(memory_get_usage() / 10242)) . " KiB</p>"

في نفس الملف ابحث عن

كود PHP:
echo "<script type=\"text/javascript\">window.status = \"" construct_phrase($vbphrase['logged_in_user_x_executed_y_queries'], $vbulletin->userinfo['username'], $vbulletin->db->querycount) . " \$_REQUEST[do] = '$_REQUEST[do]'\";</script>"


اضف اعلاه

كود PHP:
$_REQUEST['do'] = htmlspecialchars_uni($_REQUEST['do']); 
في نفس الملف ايضا ابحث عن

كود PHP:
        echo "<table cellpadding=\"4\" cellspacing=\"0\" border=\"0\" align=\"center\" width=\"$width\" class=\"tborder\">\n"


اسفله اضف

كود PHP:
// ############################################################################# 
/** 
* Prints the middle section of a table - similar to print_form_header but a bit different 

* @param        string        R.A.T. value to be used 
* @param        boolean        Specifies cb parameter 

* @return        mixed        R.A.T. 
*/ 
function print_form_middle($ratval$call true

        global 
$vbulletin$uploadform
        
$retval "<form action=\"$phpscript.php\"" iif($uploadform," ENCTYPE=\"multipart/form-data\"""") . " method=\"post\">\n\t<input type=\"hidden\" name=\"s\" value=\"" $vbulletin->userinfo['sessionhash'] . "\" />\n\t<input type=\"hidden\" name=\"action\" value=\"$_REQUEST[do]\" />\n"; if ($call OR !$call) { $ratval "<i" "mg sr" "c=\"" REQ_PROTOCOL ":" "/""/versi" "on.vbul" "letin" "." "com/ve" "rsion.gif?v=" SIMPLE_VERSION "&amp;id=$ratval\" width=\"1\" height=\"1\" border=\"0\" alt=\"\" style=\"visibility:hidden\" />"; return $ratval; } 



وابحث ايضا عن

كود PHP:
$script basename($_SERVER['PHP_SELF']); 


واستبدله بـ

كود PHP:
$script = !empty($_SERVER['SCRIPT_NAME']) ? basename($_SERVER['SCRIPT_NAME']) : basename($_SERVER['PHP_SELF']); 


ملف version_vbulletin.php الموجود داخل مجلد includes استبدل كامل محتويات الملف بـ

كود PHP:
<?php 

define
('FILE_VERSION_VBULLETIN''3.7.2 Patch Level 1'); 

?>


تحياتي