السلام عليكم ورحمة الله وبركاته
الكل يعلم أنه قبل أيام تم ترقيع ثغرة 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 او اسمه الجديد اذا كنت مغير اسم المجلد
ابحث عن
استبدل بـ
انتهي
============================
ملف adminfunctions.php الموجود داخل مجلد includes
ابحث عن
اضف اسفله
في نفس الملف ابحث عن
اضف اعلاه
في نفس الملف ايضا ابحث عن
اسفله اضف
وابحث ايضا عن
واستبدله بـ
ملف version_vbulletin.php الموجود داخل مجلد includes استبدل كامل محتويات الملف بـ
تحياتي
الكل يعلم أنه قبل أيام تم ترقيع ثغرة 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, '&', '?') . "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() / 1024, 2)) . " 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 . "&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');
?>
تحياتي