1. الملاحظات
    عزيزي زائر تم اطلاق الموقع الرسمي لبرنامج الاختراق Spy-Note
    إستبعاد الملاحظة
الكاتب : MAX PWORE | المشاهدات : 8,393 | الردود : 25
حالة الموضوع:
مغلق
  1. MAX PWORE DeveloPer Plus

    الأنتساب:
    ‏16 سبتمبر 2011
    المشاركات:
    79
    الإعجابات المتلقاة:
    1
    نقاط الجائزة:
    30
    الإقامة:
    مصر

    السلام عليكم ورحمة الله و بركاته


    البارحة تم صدور الترقيع الأمني vBulletin 3.8.7 PL3 بحيث عالجت فيه الشركة ثغرة أمنية من نوع " فلود "



    الملفات المحدثة هي :

    • includes/class_dm_threadpost.php
    • includes/class_floodcheck.php
    • includes/functions.php
    • includes/init.php
    • includes/version_vbulletin.php

    لأصحاب الترخيص يمكنهم تحميل الترقيع الأمني من ( منطقة الأعضاء )


    تنبيه : الترقية الى vb.3.8.7 PL3 مبنية على الترقية من النسخة التي تسبقها وهي vb.3.8.7 PL2

    للذين لا يملكون الترخيص يمكنهم اتباع الشرح التالي من اجل الترقيع :



    أولا :
    ملف ( class_dm_threadpost.php )

    نبحث بداخله على :


    كود PHP:
    if ($user['lastpost'] <= TIMENOW AND
                        !
    can_moderate($this->info['forum']['forumid'],    ''$user['userid'], $user['usergroupid'] .    (trim($user['membergroupids']) ? ",$user[membergroupids]'')))
                    {
    نستبدله بالتالي :

    كود PHP:
    if (!can_moderate($this->info['forum']['forumid'], '',    $user['userid'], $user['usergroupid'] . (trim($user['membergroupids']) ?    ",$user[membergroupids]'')))
                    {
    ثانيا : ملف ( class_floodcheck.php )

    نبحث في داخله على :

    كود PHP:
    // if we updated something, we're not flooding; otherwise, we have to wait
            
    $this->flood_wait = ($db->affected_rows() > :   ($this->read_value $floodmin_value));
    نستبدله بالتالي :

    كود PHP:
    // if we updated something, we're not flooding; otherwise, we have to wait
            
    if ($db->affected_rows() > 0)
            {
                
    // we are not flooding
                
    $this->flood_wait 0;
            }
            else
            {
                
    // we are flooding and have to wait
                
    $this->flood_wait $this->read_value $floodmin_value;

                if (
    $this->flood_wait == 0)
                {
                    
    $db->query_write("
                        UPDATE " 
    TABLE_PREFIX $this->table " AS " $this->table "
                        SET " 
    $this->read_column " = " $this->commit_value "
                        WHERE " 
    $this->primary_key " = " intval($this->key_value) . "
                        AND " 
    $this->read_column " = $floodmin_value
                    "
    );
                    if (
    $db->affected_rows() == 0)
                    {
                        
    // flood wait time is zero and no updated has happened,
                        // this means another post has already been made in this second
                        
    $this->flood_wait $this->commit_value $floodmin_value;
                    }
                    else
                    {
                        
    $this->flood_wait 0;
                    }
                }
            }
    ثالثا :
    ملف ( functions.php )


    نبحث في داخله على :

    كود PHP:
    return 'standard_redirect("' $phrase '", ' intval($forceredirect) . ');';
    نستبدله بالتالي :

    كود PHP:
    return 'standard_redirect("' $phrase '", ' .  intval($forceredirect) . ', ' . ($bypasswhitelist 'true' 'false') .  ');';
    نبحث في داخله على :

    كود PHP:
    function print_standard_redirect($redir_phrase$doquery true$forceredirect false$languageid = -1)
    نستبدله بالتالي :

    كود PHP:
    function print_standard_redirect($redir_phrase$doquery true,  $forceredirect false$languageid = -1$bypasswhitelist false)
    رابعا : ملف ( init.php )

    نبحث في داخله على :


    كود PHP:
    if ($http_host AND $_SERVER['HTTP_REFERER'])
            {
                
    $http_host preg_replace('#:80$#'''trim($http_host));
                
    $referrer_parts = @parse_url($_SERVER['HTTP_REFERER']);
                
    $ref_port intval($referrer_parts['port']);
                
    $ref_host $referrer_parts['host'] . ((!empty($ref_port) AND $ref_port != '80') ? ":$ref_port'');

                
    $allowed preg_split('#\s+#'$vbulletin->options['allowedreferrers'], -1PREG_SPLIT_NO_EMPTY);
                
    $allowed[] = preg_replace('#^www\.#i'''$http_host);
                
    $allowed[] = '.paypal.com';

                
    $pass_ref_check false;
                foreach (
    $allowed AS $host)
                {
                    if (
    preg_match('#' preg_quote($host'#') . '$#siU'$ref_host))
                    {
                        
    $pass_ref_check true;
                        break;
                    }
                }
                unset(
    $allowed);

                if (
    $pass_ref_check == false)
                {
                    die(
    'In order to accept POST request originating from  this domain, the admin must add this domain to the whitelist.');
                }
            }
        }
    }
    نستبدله بالتالي :

    كود PHP:
    if ($http_host AND $_SERVER['HTTP_REFERER'])
            {
                
    $http_host strtolower(preg_replace('#:80$#'''trim($http_host)));
                
    $referrer_parts = @parse_url($_SERVER['HTTP_REFERER']);
                
    $ref_port intval($referrer_parts['port']);
                
    $ref_host strtolower($referrer_parts['host'] . ((!empty($ref_port) AND $ref_port != '80') ? ":$ref_port''));

                if (
    $http_host == $ref_host)
                {    
    /* Instant match is good enough
                    no need to check anything further. */
                    
    $pass_ref_check true;
                }
                else
                {
                    
    $pass_ref_check false;
                    
    $allowed = array('.paypal.com');
                    
    $allowed[] = '.'.preg_replace('#^www\.#i'''$http_host);
                    
    $whitelist preg_split('#\s+#',  $vbulletin->options['allowedreferrers'], -1PREG_SPLIT_NO_EMPTY); //  Get whitelist
                    
    $allowed array_unique(is_array($whitelist) ?  array_merge($allowed,$whitelist) : $allowed); // Merge and de-duplicate.

                    
    foreach ($allowed AS $host)
                    {
                        
    $host strtolower($host);
                        if (
    substr($host,0,1) == '.' AND 
                        (
    preg_match('#' preg_quote($host'#') . '$#siU'$ref_host) OR substr($host,1) == $ref_host))
                        {
                            
    $pass_ref_check true;
                            break;
                        }
                    }
                    unset(
    $allowed$whitelist);
                }

                if (
    $pass_ref_check == false)
                {
                    die(
    'In order to accept POST requests originating from  this domain, the admin must add the domain to the whitelist.');
                }
            }
        }
    }
    خامساً : ملف ( version_vbulletin.php )

    نستبدل محتواه بالتالي :

    كود PHP:
    <?php
    define
    ('FILE_VERSION_VBULLETIN''3.8.7 Patch Level 3');
    ?>
    هذا ولله التوفيق لنا ولكم &:":
     
  2. Dr.MoAiD Developer

    الأنتساب:
    ‏13 مايو 2012
    المشاركات:
    41
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    20
    نظام التشغيل:
    Linux
    رد: الترقية للإصدار الأمني vBulletin 3.8.7 PL3


    بيض الله وجهك جاري العمل على الترقيع إذن :!."
     
  3. Dr.MOT إدارة الموقع

    الأنتساب:
    ‏2 سبتمبر 2011
    المشاركات:
    717
    الإعجابات المتلقاة:
    5,490
    نقاط الجائزة:
    215
    الجنس:
    ذكر
    الوظيفة:
    طالب
    الإقامة:
    IraQ
    نظام التشغيل:
    windows 8.1
    اللغة البرمجية:
    CSS
    Facebook:
    YouTube:
    رد: الترقية للإصدار الأمني vBulletin 3.8.7 PL3

    وعليكم السلام ورحمة الله وبركاته
    بارك الله فيك يابطل وجعل والديك مثواهم الجنه
    يستحق التثبيت لأهمية الموضوع
    دمت بحفض الرحمن

     
  4. MVELS Developer

    الأنتساب:
    ‏10 يونيو 2012
    المشاركات:
    62
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    20
    الإقامة:
    ليبيا
    رد: الترقية للإصدار الأمني vBulletin 3.8.7 PL3

    اللهـ يسلم هـ الآيآدي
    شرح رأئع و تنسيق جميل

    اتمنا لكـ التوفيق عزيزي
     
  5. Splinter Developer

    الأنتساب:
    ‏10 يونيو 2012
    المشاركات:
    15
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    5
    الإقامة:
    تونس الحبيبية
    نظام التشغيل:
    Linux
    رد: الترقية للإصدار الأمني vBulletin 3.8.7 PL3


    يعطيك العافيه

    هل الترقيع يتم على نسخه الاخ ابو عمر او كل نسخ 3.8.7 ؟؟ او فقط نوع محدد
     
  6. HcJ V • I • P

    الأنتساب:
    ‏11 سبتمبر 2011
    المشاركات:
    104
    الإعجابات المتلقاة:
    1
    نقاط الجائزة:
    50
    الإقامة:
    ّّّ~ مصر ~
    نظام التشغيل:
    Linux
    رد: الترقية للإصدار الأمني vBulletin 3.8.7 PL3


    وعليكم السلام

    بارك الله فيك لى الترقيع

    &:":

    بعد آذن صاحب الموضوع

    الترقيع على جميع نسخ 3.8.7

    موفق
     
  7. HaCkInG ExpErt DeveloPer

    الأنتساب:
    ‏10 يونيو 2012
    المشاركات:
    51
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    20
    نظام التشغيل:
    windows 8
    رد: الترقية للإصدار الأمني vBulletin 3.8.7 PL3


    مشكور والله

    )5:"

     
  8. fantome195 Developer

    الأنتساب:
    ‏4 يونيو 2012
    المشاركات:
    89
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    20
    الوظيفة:
    Student
    الإقامة:
    Morocco
    رد: الترقية للإصدار الأمني vBulletin 3.8.7 PL3


    تسلم على الايضاح

    )5:"
     
  9. X-1 Developer

    الأنتساب:
    ‏10 يونيو 2012
    المشاركات:
    69
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    20
    الإقامة:
    X
    نظام التشغيل:
    Linux
    رد: الترقية للإصدار الأمني vBulletin 3.8.7 PL3


    بطل الله يوفقك
     
  10. MAX PWORE DeveloPer Plus

    الأنتساب:
    ‏16 سبتمبر 2011
    المشاركات:
    79
    الإعجابات المتلقاة:
    1
    نقاط الجائزة:
    30
    الإقامة:
    مصر
    رد: الترقية للإصدار الأمني vBulletin 3.8.7 PL3


    حياكم الله اخواني

    )5:"

     
حالة الموضوع:
مغلق

مشاركة هذه الصفحة