Чистка файлов от iframe вставок

По мотивам предыдущей заметки =)

Итак, если ваш сайт взломан или подобран пароль к вашему фтп-аккаунту и в некоторых (или во всех) файлах присутствует вражеский код iframe – самое время заняться чисткой.

Обнаружение противника

Для начала вражеский код нужно обнаружить. Самый безопасный и правильный подход – найти подозрительные участки кода в зараженных файлах и детерминировать их как вредоносные.

find . -name "*.php*" -or -name "*.*htm*" -exec grep "iframe" {} \; -print | less

В результате вы увидите код ифреймов и пути к зараженным файлам:

<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.htm
<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.shtml
<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.html

Если не хотите видеть путь к файлам (в принципе, на данном этапе он и не нужен), уберите ключ -print.

Kill ‘em all

Теперь, когда вы уже знаете врага в лицо, можно приступать к чистке:

find . -name "*.php*" -or -name "*.*htm*" -exec sed -i '' -e 's/\<iframe\ src="site\.ru".*\>\<\/iframe\>//g' {} \;

/!\ Внимание /!\
sed отредактирует ваши файлы! Если вы не уверены в правильности составленного кода, можете использовать более безопасный вариант (без » после ключа -i):

find . -name "*.php*" -or -name "*.*htm*" -exec sed -i -e 's/\<iframe\ src="site\.ru".*\>\<\/iframe\>//g' {} \;

В этом случае, sed оставит исходные копии файлов с именами с -е в конце (исходный: 1.shtml-e, исправленный: 1.shtml). Если *вдруг* что-то пошло не так, сможете быстро восстановить исходные файлы.


Теги: , , , , , , , , , , , , , ,

2 комментариев пока

  1. Гость января 31, 2013 21:30:35

    куда прописывать find . -name “*.php*” -or -name “*.*htm*” -exec grep “iframe” {} \; -print | less ?

  2. NetSpider января 31, 2013 22:03:16

    если у вас Linux или FreeBSD, то в консоль

Оставить комментарий

Пожалуйста будьте вежливы и пишите по теме. Ваш e-mail никогда не будет опубликован.

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