السلام عليكم ورحمة الله وبركاته
اعلنت الشركه الام عن وجود ثغره بالنسخ 3.7.1 و 3.7.1 PL1
المصدر
http://www.vbulletin.com/forum/showthread.php?p=1570307
الترقيع :
1- للاعضاء المرخصين توجه الي الرابط التالي
http://members.vbulletin.com/patches.php
ثم قم بتحميل باتش اخر نسخه ومن ثم رفعه الي موقعك كل ملف بمكانه مع الاستبدال
2- للاعضاء الغير مرخصين حمل الملفات المرفقه بالموضوع ثم اعد رفعها الي مجلد منتداك مع الاستبدال او طبق التعديلات التاليه علي ملفات منتداك
ملف index.php الموجود داخل ملجد admincp ابحث عن
كود PHP:
if (!empty($vbulletin->GPC['redirect']))
{
require_once(DIR . '/includes/functions_login.php');
$redirect = htmlspecialchars_uni(fetch_replaced_session_url($vbulletin->GPC['redirect']));
print_cp_header($vbphrase['redirecting_please_wait'], '', "<meta http-equiv=\"Refresh\" content=\"0; URL=$redirect\" />");
echo "<p> </p><blockquote><p>$vbphrase[redirecting_please_wait]</p></blockquote>";
print_cp_footer();
exit;
}
استبدل بـ
كود PHP:
if (!empty($vbulletin->GPC['redirect']))
{
require_once(DIR . '/includes/functions_login.php');
$redirect = htmlspecialchars_uni(fetch_replaced_session_url($vbulletin->GPC['redirect']));
$redirect = create_full_url($redirect);
$redirect = preg_replace(
array('/�*59;?/', '/�*3B;?/i', '#;#'),
'%3B',
$redirect
);
$redirect = preg_replace('#&%3B#i', '&', $redirect);
print_cp_header($vbphrase['redirecting_please_wait'], '', "<meta http-equiv=\"Refresh\" content=\"0; URL=$redirect\" />");
echo "<p> </p><blockquote><p>$vbphrase[redirecting_please_wait]</p></blockquote>";
print_cp_footer();
exit;
}
ابحث عن
كود PHP:
$mainframe = "<frame src=\"" . iif(!empty($vbulletin->GPC['loc']) AND !preg_match('#^[a-z]+:#i', $vbulletin->GPC['loc']), $vbulletin->GPC['loc'], "index.php?" . $vbulletin->session->vars['sessionurl'] . "do=home") . "\" name=\"main\" scrolling=\"yes\" frameborder=\"0\" marginwidth=\"10\" marginheight=\"10\" border=\"no\" />\n";
استبدل بـ
كود PHP:
$mainframe = "<frame src=\"" . iif(!empty($vbulletin->GPC['loc']) AND !preg_match('#^[a-z]+:#i', $vbulletin->GPC['loc']), create_full_url($vbulletin->GPC['loc']), "index.php?" . $vbulletin->session->vars['sessionurl'] . "do=home") . "\" name=\"main\" scrolling=\"yes\" frameborder=\"0\" marginwidth=\"10\" marginheight=\"10\" border=\"no\" />\n";
ابحث عن
كود PHP:
'dismiss' => TYPE_ARRAY_KEYS_INT
استبدل بـ
كود PHP:
'dismiss' => TYPE_ARRAY_KEYS_INT,
'acpnews' => TYPE_ARRAY_KEYS_INT
ابحث عن
كود PHP:
print_cp_redirect('index.php?do=home' . $vbulletin->session->vars['sessionurl_js']);
اضف اعلاه
كود PHP:
else if ($vbulletin->GPC['acpnews'])
{
$items = preg_split('#\s*,\s*#s', $vbulletin->userinfo['dismissednews'], -1, PREG_SPLIT_NO_EMPTY);
$items[] = intval($vbulletin->GPC['acpnews'][0]);
$vbulletin->userinfo['dismissednews'] = implode(',', array_unique($items));
$admindata =& datamanager_init('Admin', $vbulletin, ERRTYPE_CP);
if ($getperms = $vbulletin->db->query_first("
SELECT userid
FROM " . TABLE_PREFIX . "administrator
WHERE userid = " . $vbulletin->userinfo['userid']
))
{
$admindata->set_existing($vbulletin->userinfo);
}
else
{
$admindata->set('userid', $vbulletin->userinfo['userid']);
}
$admindata->set('dismissednews', $vbulletin->userinfo['dismissednews']);
$admindata->save();
}
===================================
ملف adminfunctions.php الموجود داخل مجلد includes
ابحث عن
كود PHP:
function print_form_middle($ratval, $call = true)
{
return $ratval;
}
استبدل بـ
كود PHP:
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:
$gotopage = str_replace('&', '&', $gotopage);
اضف اسفله
كود PHP:
$gotopage = create_full_url($gotopage);
$gotopage = str_replace('"', '', $gotopage);
ابحث عن
كود PHP:
print_table_footer(2, construct_button_code($vbphrase['continue'], $continueurl));
استبدل بـ
كود PHP:
print_table_footer(2, construct_button_code($vbphrase['continue'], create_full_url($continueurl)));
ابحث عن
كود PHP:
print_table_footer();
echo '<p align="center" class="smallfont">' . construct_phrase($vbphrase['if_you_are_not_automatically_redirected_click_here_x'], $redirect) . "</p>\n";
print_cp_redirect($redirect, $delay);
استبدل بـ
كود PHP:
print_table_footer();
$redirect_click = create_full_url($redirect);
$redirect_click = str_replace('"', '', $redirect_click);
echo '<p align="center" class="smallfont">' . construct_phrase($vbphrase['if_you_are_not_automatically_redirected_click_here_x'], $redirect_click) . "</p>\n";
print_cp_redirect($redirect, $delay);
ابحث عن
كود PHP:
$back_button = '<input type="button" class="button" value="' . $vbphrase['go_back'] . '" title="" tabindex="1" onclick="window.location=\'' . $backurl . '\';"/>';
اضف اعلاه
كود PHP:
$backurl = create_full_url($backurl);
$backurl = str_replace(array('"', "'"), '', $backurl);
===================================
ملف functions.php الموجود داخل مجلد includes
ابحث عن
كود PHP:
if (!preg_match('#^[a-z]+://#i', $url))
استبدل بـ
كود PHP:
if (!preg_match('#^[a-z]+(?<!about|javascript|vbscript|data)://#i', $url))
ابحث عن
كود PHP:
if ($issupermod AND !isset($permissioncache["$userid"]['hassuperrecord']))
اضف اعلاه
كود PHP:
$vbulletin->db->free_result($ismod_all);
===================================
ملف version_vbulletin.php الموجود داخل مجلد includes
استبدل محتوي الملف بالتالي
كود PHP:
<?php
define('FILE_VERSION_VBULLETIN', '3.7.1 Patch Level 2');
?>
===================================
انتهي
ملحوظه : لاتقم برفع باتش الترقيع من ترخيص غير ترخيص موقعك
===========================================