• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Hướng dẫn vá lỗi bảo mật nghiêm trọng cho vbulletin 4

Admin

Well-Known Member
Staff member
Administrator
Hiện tại vbulletin 4 đang bị lỗi bảo mật nghiêm trọng, nếu không vá lỗi kịp thời thì khả năng diễn đàn của bạn bị tấn công là rất cao
Với vbulletin 4.2.2 bạn có thể tải về bản vá tại đây
vBulletin Suite 4.2.2 PL1 Patch Only- Nulled By VietVBB-Team
Bạn có thể xem thông tin lỗi ở đây
Security Exploit Patched in versions 3.5, 3.6, 3.7, 3.8, 4.X, 5.X of vBulletin
Đễ khắc phục lỗi bảo mật này bạn cần làm theo những hướng dẫn sau, nên nhớ càng fix càng nhanh càng tốt
Yêu cầu php phiên bản 5.2.0 hoặc cao hơn
kjxf.png

Mở tập tin
includes/functions.php
Tìm
PHP:
$postvars = construct_post_vars_html();
         if ($vbulletin->GPC['postvars'])
         {
            $_postvars = 
@unserialize(verify_client_string($vbulletin->GPC['postvars']));
Thay đoạn
PHP:
$_postvars = 
@unserialize(verify_client_string($vbulletin->GPC['postvars']));
Bằng
PHP:
$_postvars = array();
            $client_string = 
verify_client_string($vbulletin->GPC['postvars']);
            if ($client_string)
            {
                $_postvars = @json_decode($client_string, true);
            }
Mở tập tin includes/functions_login.php
Tìm
PHP:
}
             if ($vbulletin->GPC['postvars'])
             {
                $postvars = 
@unserialize(verify_client_string($vbulletin->GPC['postvars']));
Thay đoạn
PHP:
$postvars = 
@unserialize(verify_client_string($vbulletin->GPC['postvars']));
Bằng
PHP:
$postvars = array();
                $client_string = 
verify_client_string($vbulletin->GPC['postvars']);
                if ($client_string)
                {
                    $postvars = @json_decode($client_string, true);
                }
Tìm tiếp
PHP:
$postvars['securitytoken'] = 
$vbulletin->userinfo['securitytoken'];
                 }
 
                $vbulletin->GPC['postvars'] = 
sign_client_string(serialize($postvars));
Thay đoạn
PHP:
$vbulletin->GPC['postvars'] = 
sign_client_string(serialize($postvars));
Bằng
PHP:
$vbulletin->GPC['postvars'] = 
sign_client_string(json_encode($postvars));
Mở tập tin includes/functions_misc.php
Tìm
PHP:
}
     else if ($vbulletin->superglobal_size['_POST'] > 0)
     {
        return '<input type="hidden" name="postvars" value="' . 
htmlspecialchars_uni(sign_client_string(serialize($_POST))) . '" />' . "\n";
Thay đoạn
PHP:
return '<input type="hidden" name="postvars" value="' . 
htmlspecialchars_uni(sign_client_string(serialize($_POST))) . '" />' . "\n";
Bằng
PHP:
$string = json_encode($_POST);
        return '<input type="hidden" name="postvars" value="' . 
htmlspecialchars_uni(sign_client_string($string)) . '" />' . "\n";
Mở tập tin forumdisplay.php
Tìm
PHP:
{
             if (($check = 
verify_client_string($vbulletin->GPC['postvars'])) !== false)
             {
                $temp = unserialize($check);
Thay đoạn
PHP:
$temp = unserialize($check);
Bằng
PHP:
$temp = json_decode($check, true);
Mở tập tin login.php, nếu không có tập tin này thì bỏ qua bước này
Tìm
PHP:
exec_unstrike_user($vbulletin->GPC['vb_login_username']);
 
    $_postvars = 
@unserialize(verify_client_string($vbulletin->GPC['postvars']));
Thay đoạn
PHP:
$_postvars = 
@unserialize(verify_client_string($vbulletin->GPC['postvars']));
Bằng
PHP:
$_postvars = array();
    $client_string = verify_client_string($vbulletin->GPC['postvars']);
    if ($client_string)
    {
        $_postvars = @json_decode($client_string, true);
    }
Chúc các bạn thành công!
Bài viết chỉ đăng duy nhất tại tuoitreit.vn, mọi sao chép phải ghi rõ nguồn và liên kết đến bài viết gốc.
 

Facebook Comments

Similar threads

New posts New threads New resources

Back
Top