Сервер Linux, нахождение файлов, содержащих только 4 конкретные строки - PullRequest
1 голос
/ 21 декабря 2010

Я имею дело с взломанным сайтом, на котором хакеры вводят инструкцию htaccess для перенаправления трафика. Я могу легко найти .htaccess файлы, которые содержат хакерскую пересылку, НО в тех случаях, когда каталог уже содержал файл htaccess, они добавляли опасные инструкции, поэтому я не могу просто удалить какой-либо файл htaccess или нанести вред сайту, разрешив ранее pw-protected широко открытые каталоги или инструкции по удалению писем (WordPress) и т. д. Я не мог найти способ найти файлы, которые содержат только те 4 строки хака перенаправления, не могли бы вы пролить свет? Пока что с использованием

найти. -type f -exec grep -q targetpiratedomain {} \; -exec echo rm {} \;

Спасибо!

Ответы [ 2 ]

3 голосов
/ 21 декабря 2010

Используйте один из файлов .htaccess в качестве шаблона. Затем введите следующую команду:

find . -type f -name .htaccess -exec cmp -s <template> {} \; -exec rm {} \;

cmp будет сравнивать файл с файлом шаблона, и если он вернет true, rm выполняется. Возможно, вы захотите сначала проверить это с echo или cat вместо rm.

Обязательно переименуйте или переместите файл шаблона перед запуском команды, иначе шаблон будет удален во время процесса.

1 голос
/ 21 декабря 2010

Вы можете использовать размер файла .htaccess - все простые файлы должны быть одинакового размера?
Вы также должны ограничить команду поиска только файлами с правильным именем.

ТакжеКак и в комментариях, вы должны просто восстановить сайт из системы контроля версий.

...