Ежовый угол

Сеть, Рунет, телеком, Иркутск

Поиск инфицированных iframe на сайте

Довольно часто спрашивают о способе поиска сразу по всему серверу файлов, зараженных iframe или js. Итак, предположим, сегодня сайты на сервере оказались заражены строкой:

Соответственно, будем искать по «private-area.ru». Для поиска следует из папки с конкретным сайтом или всеми сайтами запустить в консоли (SSH):

find . -type f | xargs grep -l 'private-area.ru' 2>/dev/null

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

/var/www/user1/data/www/site1.com/portfolio.html
/var/www/user1/data/www/site1.com/links.html
/var/www/user1/data/www/site1.com/template.html
/var/www/user1/data/www/site1.com/contact.html
/var/www/user1/data/www/site1.com/home.html
/var/www/user1/data/www/site1.com/about.html
/var/www/user2/data/www/site2.ru/shema.html
/var/www/user3/data/www/site3.ru/index.html
/var/www/user3/data/www/site4.ru/index.html
/var/www/user3/data/www/site5.ru/index.htm
/var/www/user3/data/www/site6.ru/index.html
/var/www/user3/data/www/site7.ru/webstat/awstats.site7.ru.errors404.012013.html
/var/www/user3/data/www/site7.ru/webstat/awstats012013.site7.ru.txt
/var/www/user3/data/www/subsite.site8.ru/index.html
/var/www/user3/data/www/site8.ru/webstat/awstats012013.site8.ru.txt
/var/www/user3/data/www/site8.ru/webstat/awstats.site8.ru.refererpages.012013.html
/var/www/user4/data/www/site9.ru/index.html
/var/www/user5/data/www/site10.ru/index.htm

Теперь вручную очищаем. Есть и автоматизированные решения, но я настоятельно рекомендую удалять все вручную.

UPD Еще вариант:

find . -name '*.js' -exec grep -i 'string to search for' {} \; -print

Раздел: Uncategorized

Метки:

Один комментарий

  1. grep:

    Тоже самое можно сделать одним grep’ом:

    grep -Rsl ‘private-area’ /path/to/dir/

    (опция -s не во всех версиях поддерживается, тогда можно и 2>/dev/null в конец добавить)


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

Реклама

Статистика