В последнее время заметно участились случаи взлома сайтов с целью включения в страницы скрытых спам-ссылок, ведущих на посторонние ресурсы. Из-за этого взломанный сайт может быть временно исключён из результатов поиска, а пользователям могут выдаваться не те страницы, которые они хотят найти. Идея такого заражения не нова, но сейчас оно носит массовый характер и обладает новыми особенностями, с которыми мы раньше не сталкивались. Поэтому мы решили ещё раз напомнить о существовании такой проблемы и о способах её устранения.
Последняя волна заражений была связана в основном с сайтами, которые используют CMS Joomla, но это не значит, что сайты на базе других CMS не могут оказаться взломанными.
Как это происходит
Сначала злоумышленник получает доступ к сайту, использовав одну из его уязвимостей. Затем он загружает на сайт файл .php, содержащий вредоносный код, или дописывает этот код в уже существующие файлы. Вредоносный код никак не проявляет себя при посещении сайта обычными пользователями, но когда сайт индексирует робот поисковой системы, ему выдаётся множество скрытых спам-ссылок, например, таких:
<!--cacheb--><p style="display: none;">
<a href="http://www.msu.edu/~offbeat/.ed/tadalafil-generique.html">tadalafil generique</a>
<a href="http://www.msu.edu/~offbeat/.ed/viagra-europe.html">viagra europe</a>
<a href="http://www.msu.edu/~offbeat/.ed/canadian-cialis.html">canadian cialis</a>
<a href="http://www.msu.edu/~offbeat/.ed/cialis-commercial.html">cialis commercial</a>
...
<a href="http://www.msu.edu/~offbeat/.ed/contre-indication-viagra.html">contre indication viagra</a>
<a href="http://www.msu.edu/~offbeat/.ed/cialis-moins-cher.html">cialis moins cher</a>
<a href="http://www.msu.edu/~offbeat/.ed/cialis-espagne.html">cialis espagne</a>
</p><!--cachee-->
Вредоносный код выдаёт страницу со ссылками только роботам поисковой системы. В страницах, которые выдаются обычным пользователям, таких ссылок нет. Вебмастер тоже не сможет увидеть эти ссылки в исходном коде страницы, если зайдёт на неё через браузер.
Наличие на сайте скрытого текста расценивается Яндексом как нарушение, поэтому содержащие его страницы временно исключаются из поиска. Если мы обнаруживаем скрытый текст на сайте, который зарегистрирован в сервисе Яндекс.Вебмастер, то присылаем вебмастеру сообщение об этом, чтобы вебмастер смог оперативно проверить свой сайт и устранить найденные проблемы.
Как найти источник проблемы?
Вредоносный код, который в последнее время используется, чтобы выдавать роботам страницы со спам-ссылками, с большой вероятностью содержит функции “eval”, “base64_decode”, “json_decode” или “gzuncompress”, при этом использует переменные user_agent и referer. Но такой код постоянно эволюционирует, поэтому его признаки и принципы действия могут измениться в любой момент.
При запросе страницы со взломанного сайта, код отправляет запрос серверу злоумышленников с ip-адресом 78.159.101.232. Этот сервер проверяет user-agent, referer и другие параметры, и выдаёт вредоносному коду на взломанном сайте инструкции для дальнейших действий. Например, если user-agent принадлежит роботу поисковой системы, то роботу выдаётся страница со спам- ссылками.
Что делать дальше
Если Ваш сайт действительно был заражен, то после его полной очистки рекомендуем предпринять следующие профилактические меры, чтобы свести риск повторного заражения к минимуму:
1. Сменить все пароли доступа к сайту: от ftp, административной панели, базы данных, SSH и панели управления веб-хостингом.
2. При дальнейшей работе с сайтом не сохранять эти пароли в браузерах, ftp-клиентах, файловых менеджерах и т.д.
3. Обновить CMS до последней версии и регулярно обновлять её в будущем.
4. Использовать надежную антивирусную программу и также следить за ее регулярным обновлением.
P.S. Команда Яндекс.Поиска выражает глубокую благодарность вебмастерам, которые поделились с нами подробной информацией «изнутри» и сделали написание этой статьи возможным.