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

Admin

AdminAdmin is verified member.

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

V
Replies
0
Views
5K
vanvangit
V
Admin
Replies
0
Views
9K
AdminAdmin is verified member.
Admin
Admin
Replies
0
Views
8K
AdminAdmin is verified member.
Admin
Admin
Replies
0
Views
6K
AdminAdmin is verified member.
Admin
Back
Top