باتش (3.7.1 PL2) لترقيع ثغره بالنسخه (3.7.1) و (PL1 3.7.1)
صفحة 1 من اصل 1
باتش (3.7.1 PL2) لترقيع ثغره بالنسخه (3.7.1) و (PL1 3.7.1)
السلام عليكم
اعلنت الشركه الام عن وجود ثغره بالنسخ 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');
?>
===================================
انتهي
ملحوظه : لاتقم برفع باتش الترقيع من ترخيص غير ترخيص موقعك
وفقني الله وإياكم
dr-php
اعلنت الشركه الام عن وجود ثغره بالنسخ 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');
?>
===================================
انتهي
ملحوظه : لاتقم برفع باتش الترقيع من ترخيص غير ترخيص موقعك
وفقني الله وإياكم
dr-php
الرسالي- عدد المساهمات : 45
تاريخ التسجيل : 18/08/2009
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى