ГлавнаяБлог → Безопасность

Вредоносный код на сайте: как найти и убрать

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

Вредоносный код на сайте: как найти и убрать
Краткий ответ

Ищите сигнатуры вроде eval(base64_decode(...)), недавно изменённые файлы и чужие строки в базе данных. Сверка с эталонной версией CMS - самый надёжный способ найти чужую правку.

Где прячется вредоносный код

Вирусописатели редко оставляют файл с названием «вирус.php». Чаще код встраивают в обычные файлы темы, в .htaccess, в служебные скрипты и даже в базу данных - туда, куда владелец заглядывает в последнюю очередь.

  • Файлы активной темы и плагинов.
  • .htaccess и конфигурационные файлы.
  • Каталоги загрузок и кэша.
  • Таблицы базы: опции, закладки, виджеты.

Сигнатуры, которые выдают заражение

Конструкции, которые почти никогда не встречаются в честном коде:

  • eval(base64_decode(...)) - раскодирует и выполняет скрытую команду.
  • gzinflate и str_rot13 - обфускация вредоносных строк.
  • file_put_contents и fwrite из параметров запроса.
  • Подключения к неизвестным доменам через curl или file_get_contents.

Самый надёжный способ - сверка с эталоном

Скачайте чистую версию вашей CMS и плагинов тех же версий и сравните с файлами на сервере. Любое отличие - либо ваша правка, либо чужая. Такой метод находит даже код без явных сигнатур.

Что делать с найденным

  1. Скопируйте подозрительные файлы отдельно - для анализа, не для восстановления.
  2. Замените изменённые файлы чистыми версиями, а базу вычистите от вредоносных строк.
  3. Найдите, как код туда попал: пароль, плагин, дыра в самописной части.
  4. Закройте точку входа и смените все пароли.

Если нашлась обфускация или вы сомневаетесь - не рискуйте. Один пропущенный фрагмент вернёт вирус за пару дней. Мы чистим файлы и базу вместе, с гарантией 1 год.

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

Как отличить вредоносный код от обычного?
Сигнатуры вроде eval, base64_decode, gzinflate и file_put_contents в неожиданных местах - почти всегда заражение. Сверяйте с эталоном CMS.
Вирус может быть в базе данных?
Да, часто. Вредоносные строки прячут в опциях, закладках и служебных таблицах, поэтому файловый антивирус их не видит.
Сколько стоит чистка кода?
Обычно от 9 900 ₽, входит чистка и файлов, и базы. Точную цену называем после бесплатной диагностики.

Сайт не работает прямо сейчас?

Оставьте заявку - через 30 минут вы будете точно знать, что случилось, сколько стоит ремонт и когда сайт снова начнёт приносить деньги.

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

Спасти сайт - диагностика 0 ₽