AVOdigital
ГлавнаяМатериал AVOdigital

Очистка WordPress от вирусов: пошаговое руководство по лечению сайта

Экспертное руководство по удалению вирусов, спам-скриптов и инъекций в WordPress. Очистка ядра, базы данных и сервера. AVOdigital — опыт 10+ лет.

Разработка сайтов

Нужен сайт для вашего бизнеса?

Пришлём состав сайта и смету под вашу задачу: лендинг — от 58 000 ₽, сайт компании — от 92 000 ₽. Можно просто задать вопрос в Telegram или MAX, без звонка.

Коротко:

Пошаговая инструкция по очистке WordPress от вредоносного кода, спам-скриптов, SQL-инъекций и шеллов. Включает работу с файлами, базой данных и сервером.

Очистка WordPress от вирусов — это не просто удаление подозрительных файлов. Это комплексная процедура, включающая анализ кода, базы данных, логов и конфигурации сервера. AVOdigital рекомендует поэтапный подход с использованием сканеров и ручного аудита, особенно в местах, где часто прячут backdors: wp-config.php, .htaccess, functions.php активной темы и файлы плагинов.

Как вирусы проникают в WordPress? Типы угроз

Вредоносный код попадает на сайт через:

  • Уязвимости в плагинах и темах (особенно старых версий);
  • Инъекции через REST API (например, уязвимость в JWT-аутентификации);
  • Компрометацию FTP/SFTP-доступа или панели хостинга;
  • Вредоносное ПО на локальном компьютере администратора;
  • Грубую силу (brute-force) паролей через XML-RPC.

Чаще всего мы встречаем:

  • Backdoor в файлах — кодированные PHP-шеллы (например, через preg_replace с модификатором /e);
  • Спам-скрипты — вставки с редиректами на сторонние сайты;
  • SQL-инъекции — в базе данных через wp_options или wp_posts;
  • Криптомайнеры — скрипты, майнящие Monero в браузере пользователя.

Диагностика заражения: где искать вирусы

Для обнаружения вредоносного кода используем комбинацию автоматических и ручных методов. Важно проверить не только корень сайта, но и системные области.

Тип угрозы Где искать Метод обнаружения
PHP-шеллы wp-content/, wp-includes/, корень Сканер с сигнатурами (Wordfence, AI-Bolit), поиск base64_decode и eval
Спам-редиректы .htaccess, nginx.conf, functions.php Сравнение с эталонными файлами WordPress
SQL-инъекции wp_options, wp_posts, wp_usermeta Запросы с CHECKSUM TABLE, поиск скриптов в CLOB
Криптомайнеры Файлы JS, подозрительные iframe Анализ консоли браузера, детектор CoinHive
Вредоносный код в БД wp_posts.post_content, wp_options.option_value SELECT с LIKE по типичным паттернам (%gzinflate%, %eval%)

Пошаговый чек-лист очистки WordPress от вирусов

  1. Изолируйте сайт — временно отключите репликацию БД, поставьте режим обслуживания (через файл .maintenance в корне).
  2. Сделайте резервную копию — бекап всех файлов и базы данных (через WP-CLI или хостинг-панель).
  3. Обновите пароли — к FTP, базе данных, админке WordPress, всем сервисам (OAuth-токены, API-ключи).
  4. Запустите сканер — Wordfence CLI (WAF), или AI-Bolit с базой сигнатур Deep-проверки.
  5. Проверьте критичные файлы вручную:
    • wp-config.php — на наличие base64-кода или лишних require.
    • .htaccess / nginx.conf — на правила редиректа или RewriteRule, перенаправляющие на спам-сайты.
    • functions.php активной темы — на подозрительные хуки (add_action('wp_head', ...), замыкания).
  6. Очистите базу данных:
    • Выполните SQL-запросы на поиск вирусов: SELECT * FROM wp_posts WHERE post_content LIKE '%eval(%' и т.п.
    • Удалите подозрительные cron-задачи (DELETE FROM wp_options WHERE option_name LIKE '%cron%' AND option_value LIKE '%http%').
    • Проверьте wp_options.siteurl и home — они не должны содержать посторонние домены.
  7. Проверьте серверное окружение — в настройках Nginx или Apache убедитесь, что нет allow_url_include и других опасных директив. Отключите выполнение PHP в директориях /wp-content/uploads/ через конфиг сервера.
  8. Удалите неиспользуемые плагины и темы — старые версии часто содержат уязвимости. В нашей практике AVOdigital выявляла backdors в давно удалённых плагинах, чьи файлы остались на сервере.
  9. Обновите всё до последних версий — ядро WordPress, все плагины, темы. Если используете CommerceML для обмена с 1С, убедитесь, что эндпоинт защищён HTTP-авторизацией.
  10. Настройте Web Application Firewall (WAF) — например, 6TOKEN или Cloudflare с правилами на блокировку SQL-инъекций и XSS.

Как AVOdigital лечит сайты с глубоким заражением

Мы часто сталкиваемся с ситуациями, когда стандартные сканеры пропускают вредоносный код, спрятанный в нестандартных местах. Например, инъекция через REST API с использованием поддельных JWT-токенов или скрытый бэкдор в кэше Redis. Наша методика включает:

  • Анализ логов веб-сервера — поиск необычных запросов (POST на /wp-json/ с большими payload, аномальные User-Agent);
  • Сравнение файлов с эталоном из официального репозитория — хэш-суммы (md5deep) всех файлов ядра, стандартных плагинов;
  • Проверка БД на скрытые юзеры — учётные записи с ролью Administrator, созданные через нестандартные эндпоинты (например, через OAuth-авторизацию).

Мы выполняем ручной аудит функций preg_replace и call_user_func в файлах темы — классическое место для backdoor.

Профилактика повторного заражения

  • Регулярное обновление всех компонентов.
  • Использование нестандартных префиксов таблиц БД (например, wp_ → b3cr_).
  • Ограничение доступа к REST API (только авторизованным запросам с JWT).
  • Отключение XML-RPC, если не используется.
  • Хранение wp-config.php выше корня сайта – только для Nginx/PHP-FPM с чётко заданным одиночным точкой входа.

Частые вопросы

  1. Можно ли вылечить WordPress без удаления всех файлов?
    Да, но только если вы уверены, что вирус не затронул системные файлы ядра. Мы рекомендуем использовать штатную загрузку свежей копии WordPress, а затем восстановить только собственные файлы темы, плагинов и uploads. В противном случае риск пропустить backdoor высок.
  2. Как проверить, что сайт чист после очистки?
    После всех манипуляций запустите сканер (Wordfence, Sucuri SiteCheck), проверьте логи доступа на наличие аномалий и выполните мониторинг файлов на изменение (например, с помощью интеграции с Git). Мы в AVOdigital дополнительно используем тесты с реальными эксплуатационными сценариями: попытка SQL-инъекции через GET-параметры, проверка XSS.
  3. Что делать, если вирус в базе данных MySQL?
    Выполните экспорт БД с заменой подозрительных строк через sed (например, sed -i 's/eval(base64_decode/ /g' dump.sql), затем импортируйте чистый дамп. Убедитесь, что после этого проверены все экранирования и слеши.
  4. Помогает ли установка плагинов безопасности без ручной очистки?
    Нет. Плагины безопасности (Wordfence, iThemes Security) могут заблокировать дальнейшие атаки, но не удалят уже существующий вредоносный код. Сначала необходимо провести полную очистку, а затем настроить защиту.
Следующий шаг

Есть задача для вашего сайта?

Пришлите ссылку или опишите, что хотите изменить. Уточним задачу и определим, какая работа понадобится.

Как применить это к своему проекту — 3 шага
  1. Опишите задачу бизнеса, которую хотите решить с помощью материала.
  2. Выберите одну страницу или сценарий для первой проверки.
  3. Запишите, что должен сделать посетитель и как вы измерите результат.
Разобрать мой случай →
Обсудить задачуСайт уже есть? Бесплатный экспресс-аудитУслуги веб-студии
+7 (902) 965-31-60Telegramavodigital@mail.ru

Можно просто задать вопрос — это ни к чему не обязывает

AVOdigital · проект

Обсудим вашу задачу

Оставьте контакт — обсудим задачу и подготовим предложение с составом работ, стоимостью и этапами. Подробности можно сообщить позже.

Нажимая кнопку, вы соглашаетесь с политикой обработки персональных данных.

Гайд AVOdigital

Материал для вашего проекта

Оставьте телефон или email — после отправки здесь появится ссылка на PDF.