Признаки того, что WordPress взломан
- В поиске Яндекса или Google по вашему сайту показываются страницы про казино, ставки, кредиты или лекарства.
- С телефона сайт перенаправляет на чужой ресурс, а с компьютера всё выглядит нормально.
- В админке появились пользователи с правами администратора, которых вы не создавали.
- Вместо главной страницы открывается лента записей или надпись «hacked by…».
- Хостинг прислал письмо о вредоносных файлах, рассылке спама или превышении нагрузки.
- Не получается сохранить изменения в админке, база данных внезапно выросла в разы.
- Браузер или Яндекс предупреждают, что сайт «может быть опасен».
Если вы заметили хотя бы один признак, начните с бесплатной экспресс-проверки: она покажет мобильные редиректы, спам в коде и открытые служебные файлы.
Как вирусы попадают на сайт
В подавляющем большинстве случаев виноват не сам WordPress, а уязвимый плагин или тема. Боты круглосуточно сканируют интернет, находят сайты с конкретной версией плагина и автоматически эксплуатируют уязвимость. Человек в этой цепочке не нужен — поэтому взламывают и маленькие сайты-визитки.
Другие частые причины:
- «Нулённые» платные плагины и темы, скачанные с неофициальных сайтов, — в них часто уже встроен бэкдор.
- Простой пароль администратора или FTP, утёкший пароль из другого сервиса.
- Соседний заражённый сайт на том же аккаунте хостинга.
- Открытый доступ к REST API и XML-RPC, через которые идёт перебор паролей и создание пользователей.
Где прячется вредоносный код
Файлы
Классика — веб-шеллы в папке wp-content/uploads. Они маскируются под картинки или кэш: cache.php, image.php.jpg, wp-tmp.php. Также проверьте:
wp-config.php,index.phpи.htaccessв корне сайта — туда дописывают редиректы;functions.phpактивной темы;- папку
wp-content/mu-plugins— плагины оттуда работают всегда и не видны в обычном списке; - изменённые файлы ядра в
wp-includesиwp-admin.
Типичные признаки вредоносного PHP-кода:
eval(base64_decode('aWYoaXNzZXQoJF9QT1NU...'));
$f = str_rot13('flfgrz'); $f($_REQUEST['c']);
@include "\x2f\x74\x6d\x70\x2f.sess_8f3a";
База данных
Современные атаки всё чаще вообще не трогают файлы. Злоумышленник пишет прямо в базу:
- тысячи спам-записей в
wp_posts, иногда с датами из прошлого, чтобы их не заметили; - вставки скриптов в контент реальных страниц и в виджеты;
- подмена настроек в
wp_options: адрес сайта, главная страница, активные плагины; - новые администраторы в
wp_usersи пароли приложений вwp_usermeta.
Как вылечить WordPress: пошагово
- Сделайте полную копию файлов и базы данных — даже заражённую. Она понадобится, если что-то пойдёт не так.
- Смените все пароли: администраторов WordPress, хостинга, FTP/SSH и базы данных. Удалите незнакомых пользователей и все «пароли приложений».
- Переустановите ядро WordPress из официального дистрибутива той же версии, не трогая
wp-contentиwp-config.php. - Удалите и заново скачайте все плагины и темы из официальных источников. Неиспользуемые удалите совсем.
- Проверьте
wp-content/uploadsна любые .php-файлы — там их быть не должно. - Очистите базу данных от спам-записей, вставок в контент и подозрительных опций.
- Найдите и закройте точку входа. Без этого шага вирус вернётся через несколько дней — проверьте логи доступа и версии плагинов.
- Отправьте сайт на перепроверку в Яндекс.Вебмастер и Google Search Console, если он попал под санкции.
Как не допустить повторного заражения
- Запретите выполнение PHP в папке загрузок через
.htaccess. - Добавьте в
wp-config.phpстрокуdefine('DISALLOW_FILE_EDIT', true);— это отключит редактор файлов в админке. - Обновляйте плагины сразу после выхода исправлений безопасности.
- Включите двухфакторную авторизацию и ограничьте попытки входа.
- Настройте ежедневный бэкап во внешнее хранилище и мониторинг изменений файлов.
Всё это FYZI Shield делает автоматически: каждый день сканирует файлы и базу, следит за новыми администраторами и сразу пишет в Telegram, если что-то изменилось.
Частые вопросы
Поможет ли плагин-антивирус вроде Wordfence?
Он хорошо находит заражённые файлы, но работает внутри самого WordPress. Если злоумышленник получил доступ к базе или хостингу, он может отключить плагин. Внешний мониторинг надёжнее.
Можно ли просто восстановить сайт из бэкапа?
Можно, если бэкап сделан до заражения. Но уязвимость останется, и сайт взломают снова — обычно в течение нескольких дней. После восстановления обязательно обновите плагины и найдите точку входа.
Сколько стоит чистка сайта на WordPress?
Лечение сайта на WordPress в FYZI Shield стоит от 4 990 ₽ и включает поиск точки входа и защиту от повтора. На тарифе «Бизнес» лечение входит в подписку.