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

Автор: | 19 августа 2009

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

Итак, если ваш сайт взломан или подобран пароль к вашему фтп-аккаунту и в некоторых (или во всех) файлах присутствует вражеский код 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). Если *вдруг* что-то пошло не так, сможете быстро восстановить исходные файлы.

Чистка файлов от iframe вставок: 2 комментария

Добавить комментарий