Блог специалистов
16.02.2021

Чистим сайт от вирусов

Думаем, не один раз вы уже столкнулись с проблемой, когда сайт заражается вредоносным кодом. Найти причину заражения сложно. Обычно это устаревшие плагины, темы, утечка паролей и прочее. Это отдельная тема и тут ее не раскрыть, если вообще можно ее раскрыть.

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

Ниже представлены инструменты для облегчения этой работы.

Найти и удалить вредоносный код во всех файлах на хостинге

Ищем и/или удаляем вредоносный код в файлах определенного расширения, обычно это php, html и js, но можно добавить и свои расширения в нем.

Ссылка на скрипт

Тут всё просто. 

  1. Создаем файл treatment.php в корне сайта.

  2. В $virus_text пишем код нашего вируса.

  3. В $del пишем false, чтобы просто увидеть зараженные файл или true, чтобы удалить вредоносный код из файлов.

Отобразить все файлы с измененными датами

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

Ссылка на скрипт

Его просто закидываем в корень сайта и запускаем через браузер. Он создать 2 файла на хостинг с логами, которые потом удалите.

Удаление вредоносного кода из MySQL


В последнее время стало появляться много вирусов, которые записываются в БД. Особенно у Wordpress. Так ссылки на вредоносные скрипты вставляются прямо в записи. 

Для их удаления придется воспользоваться PhpMyAdmin на хостинге. Где идем нужную базу, там выбираем SQL-запрос и уже запросмо удаляем то, что нужно. 

Запрос выглядит следующим образом:

update wp_posts set post_content =
replace(post_content,'Текст который ищем','Чем заменить, например, пусто для удаления');

Можно кавычки с ' заменить на ", если искомый код содержит такие ' кавычки.

Удаление файлов по расширению

Например, вирус создал множество файлов в директории /UPOLAD/, где не может быть файлов php.
Для этого создаем скрипт с кодом, задаем нужные параметры и запускаем:
<?php
$count = 0;
$files = glob($_SERVER['DOCUMENT_ROOT']."/upload/resize_cache/*/*.php", GLOB_BRACE);
foreach($files as $file) 
{
unlink($file);
$count++;
}
echo "Уделно файлов - ".$count;
?>

Скрипт не рекурсивный поэтому надо понимать строку, где удаляются файлы:

/upload/resize_cache- где ищем
/*/ - директориии вида 345, 874 и так далее, автоматически созданные.
*.php - файлы с раширением.

Важно, этот скрипт может уделить все файлы с сайта при неправильном использовании. Будьте осторожны.

Количество показов: 162




Возврат к списку