Столкнулся с проблемой - позволил заразить свой сайт (сам виноват, расслабился и сохранил пароль в ФТП-менеджере), причем узнал я об этом совершенно случайно. решил проблему, и подумал что возможно кому-то поможет мой пост.
Итак, один из сайтов на Joomla у меня использует нестандартный .htaccess, и на первомайских праздниках я увидел что у меня не грузится одна из страниц, настроенная как раз через .htaccess. Полез смотреть - а у меня левые файлы и папки на сайте. Также были созданы новые суперадминистраторы на каждом сайте, причем они были созданы без E-mail, то есть не через сайт, а скорее всего запросом напрямую в БД, пароль от которой узнали из файла конфига.
Восстановил всё из бекапа за 1 мая, облазил странички сайта в поисках нехорошего кода - никаких левых ссылок, айфреймов, и прочего не увидел. Сменил, разумеется, пароли, и успокоился. Сегодня поработал над семантической разметкой страниц, решил проверить через валидатор - а Google и Яндекс у меня на сайте видят стандартный каркас (хедер, футер, модули), но вместо самой статьи там порноописание и всякие ссылки.
Ужаснулся, не поверил глазам, полез сам смотреть ещё раз - всё в норме. Короче, вредоносный код определяет, кто смотрит сайт - человек или поисковик, если поисковик - выдаёт ему другую страницу, с порно-контентом.
Стало прямо-таки интересно, с полдня наверное пробовал всякое - вроде и .htaccess проверил, и ещё раз проверил логи ФТП - но нет, новых подключений нет (кстати, атака была с китайских IP). Поэксперементировал с БД (благо они каждый день у меня бекапятся), накатывал за прошлый год БД - нет эффекта. Накатил бекап файлов за 1 января - всё нормализовалось.
Короче, не буду всё что делал описывать, напишу что дало эффект:
Яндекс манул нашёл 2 подозрительных файла, но забегая вперед скажу что это было не всё.
Параллельно скачал себе бекап за 1 января и текущий сайт, и сравнил все файлы с помощью TotalCommander - изменения-таки нашлись в .htaccess - в тех же нескольких файлах (ну, кроме тех, которые я менял сам, разумеется), и в нескольких других.
Первый файлик: /libraries/phputf8/phputf8.php
(осторожно, под спойлером 200+ строк base64 кода)
Второй файлик: /includes/framework.php
Тут кстати тоже есть небольшая фишка. На этот файл мне указал тотал командер, и в нём действительно был вредоносный код, приведу его ниже. Я его удалил, но потом случайно заметил что уж очень широкая в файле какая-то строка. Включил перенос строк, и увидел что на первой строчке тоже был добавлен код, только "замаскирован" множеством пробелов, из-за которых самой строки и не было видно - выглядело просто как пустая строка.
Итак, добавленный в конец файла код:
Как видно, код также рассчитан и на wordpress.
И код, добавленный в первой строке:
Идём по следам, оставленным в коде, файл /libraries/joomla/application/joomla-app.php - весь вредоносный, удаляем нафиг: