Удаление нежелательных скрытых исходящих ссылок со своего сайта
Инструкция по поиску и удалению вредоносного кода с сайта
1Поиск нежелательного кода на своём веб-сайте
Во-первых, нужно определить, где в коде страницы выводится посторонняя реклама. Для этого открываем в браузере свой сайт на той странице, где есть подозрения на наличие нежелательного кода. Если чужой код попал к вам из установленного шаблона, то скорее всего спам-реклама будет не на главной, а на внутренних страницах сайта.
Открываем исходный код сайта (в большинстве браузеров это делается по сочетанию клавиш Ctrl+U). Быстрее всего сделать поиск сочетания http:// в исходном коде, т.к. реклама всегда содержит ссылки. Если вы найдёте ссылки, которые вы не размещали, значит ваши опасения не были напрасны. Запомните идентификатор (id) или класс (class) элемента, в котором размещается реклама.
Часто заражённые сайты могут ничем себя не выдавать. Они ведут себя «деликатно», просто вставляя несколько рекламных ссылок на определённые страницы и скрывая их от глаз посетителей. Я, например, обнаружил заражение чисто случайно: в выдаче поисковика по одному из моих сайтов вместе с кратким текстом описания услуг, предлагаемых на сайте, было размещено сообщение вообще из другой области, чего я явно там не писал.
2Создание локальной копииатакованного веб-сайта
Следующий шаг – скачайте по FTP или иным способом к себе на компьютер ваш сайт: на компьютере вести поиск быстрее, чем в интернете. Когда скачаете, проведите поиск по файлам, в которых встречается текст с названием id или класса, который вы определили ранее.
Удобно проводить поиск с помощью менеджера файлов типа Total Commander. В нём содержатся необходимые инструменты для проведения настраиваемого поиска. Введите маску имени файла (*.php или *), слово, по которому нужно проводить поиск (название идентификатора или класса), а также кодировку файлов.
3Поиск обфусцированного нежелательного кода на сайте
Не исключено, что вы ничего не найдёте. Это неудивительно, т.к. злоумышленники часто обфусцируют (шифруют) свой код. И часто для шифрования используется встроенная функция PHP, которая называется base64_decode. Поэтому следующее, что вы должны сделать – провести поиск среди скачанных файлов с текстом base64_decode. Скорее всего, вы найдёте несколько php-файлов с этой функцией. Внимательно изучите их. Если код, в котором используется эта функция, только что-то шифрует, а затем выводит на странице, то вероятно, это именно то, что мы ищем. Например, может быть конструкция, похожая на такую:
<?php echo base64_decode($fml); ?>
Переменная $fml может иметь любое имя.
Сделайте резервную копию файла, а затем удалите все участки кода, где встречается эта конструкция.
В этой статье вы найдёте приложение, которое позволит раскодировать закодированный кодировкой Base64 текст.
Теперь закачайте на сервер «чистую» версию файла. Убедитесь в работоспособности своего сайта. Если сайт работает в штатном режиме, а рекламные спам-ссылки при просмотре исходного кода исчезли – значит, всё сделано правильно. Если же сайт выдаёт ошибку, то замените новый файл сохранённой резервной копией. Тут два варианта: либо это не вредоносный код, либо код имеет какую-то функцию самозащиты. И в том, и в другом случае нужно искать дальше.
4Дальнейшие действия по поиску вредоносного кода
Посмотрите, какие файлы используются для построения страницы. Для этого вставьте в конец шаблона после закрывающего тега </html> такой код:
<?php print_r(get_included_files()); ?>
Этот код выведет список файлов, которые участвуют в создании каждой страницы вашего сайта. Нежелательный код однозначно будет в одном или нескольких файлах из этого списка.
Список может быть довольно объёмным, но всё же он ограничит область поиска.
Ну и на всякий случай, смените пароли для доступа к админке сайта и для доступа по FTP.