История довольно простая — захожу как-то на сайт клиента, а там внизу ссылки на всякие нехорошие сайты и прочее. P.s. сайт работает на CMS Joomla 2.5.*
Блок очень похож на саповский, но никаких признаков sape.ru и других бирж на сайте не обнаружено
Первое, что пришло в голову — нужно проверить основные файлы, с которыми я когда-то работал по нахождению вирусов
- Файл index.php в кроне сайта
- Файл configuration.php в корне сайта
- Файл index.php шаблона
- Файл .htaccess в корне сайта
Данная проверка не принесла абсолютно никаких результатов и нужно было думать дальше. Первое, что пришло в голову — выкачать сайт себе на компьютер и посмотреть, будут ли там ссылки показываться или нет. Так и сделал, используя описанную мной ранее методику создания бэкапов на Joomla. После того как я развернул сайт у себя локально случилось самое печальное, что могло произойти — ссылки не показывались локально и стало понятно, что через обычный поиск их не найти, но все же я проверил и этот способ (а вдруг)
- Через Total Commander искал текст, используемый в ссылках, во всех файлах
- Так же ссылочный текст искал и в базе данных через phpMyAdmin
Результат очевиден — ничего не найдено.
Что же, идем дальше. Решил я посмотреть исходный код и вот что увидел
Что тут интерсное, так это то, что все ссылки находятся в <div style="font-size: 10px;">. Тогда через Total Commander я решил поискать следующий код style="font-size, но опять ничего не нашел (Как показало время, искать нужно было по тексту font-size: 10px, и тогда бы я вышел на вредоносный файл, но этого не произошло).
Раз мои методы иссякли, пора было двигаться в интернет на поиски проблемы и буквально сразу натолкнулся на точно такую же на одном джумловском форуме. Из нее-то как раз решение и нашел.
На joomlaforum.ru грешили на недобросовестного программиста, но это я исключаю, т.к. я сам лично делал сайт и уж код сапы точно не стал бы ставить, а тем более писать об этом. И тем более проблема у нас 100% идентичная. Поэтому источник заражения нужно искать где-то в другом месте.
- В папке /modules/mod_banners есть какие-то файлы, которых не было, когда я создавал сайта (слева — файлы на FTP, справа — файлы на моем локальном компьютере). Давайте удалим эти лишние файлы, чтобы осталась структура как справа
- В файле /include/application.php у меня на где-то 270 строке есть код, отличный от оригинального файла, который на локальном компьютере. В дальнейшем я просто заменил данный файл оригиналом.
Как видим, знакомый <div> со стилем, который надо было искать по font-size: 10px;
Вот и все, почистив данный мусор проблема пропала. Проблема-то пропала, а вот вопросов еще осталось много.
Вопросы, которые остались без ответа
- Сайт я запустил на хостинге 6 марта. Этим же числом отмечено и последнее изменение файла /include/application.php и создание вредных файлов в mod_banners. Тогда как быстро появились эти файлы, в какой момент? Неужели это могло произойти в момент восстановления бэкапа?! Нет, не могло, т.к. я только что это проверил и восстановил бэкап, а так же я это проделывал и с другими сайтами — там таких проблем нет.
- Может быть это какое-то расширение? Давайте посмотрим, что я устанавливал, может вы сможете ответить на данный вопрос
- Akeeba — для создания бэкапов
- Attachments for Joomla 2.5+ — для создания вложений в материал
- Rapid Contact — для создания формы контактов
- mavik Thumbnails — для создания превьюшек в статьях
- Редактор JCE — для редактирования статей
Где их скачивал я не помню, поэтому варез это или не варез я сказать сейчас не могу.
- Скорее всего ссылки стали появляться где-то через месяц после запуска сайта, т.к. ссылки сейчас на страницах есть, а в кэше яндекса от 5 апреля их еще нет. Но пустой блок <div style="font-size: 10px;"></div> все же за это число есть. Может быть стоит пауза на месяц, чтобы ссылки только спустя это время появлялись?!
Если у вас есть какая-то информация по тому, как эта пакость попала на сайт — буду рад выслушать, может быть и другим людям это поможет.