Назад | Перейти на главную страницу

Команда Sed для замены кода в каждом файле

sed -ri  '1 s/.*<\?php \$xgzdxgn.*\$tdjwdrzy.*\$vbtpmtzqq-1; \?>//g' *.php

Как запустить эту команду для папок и подпапок одной командой (для всех файлов php). когда я пытаюсь использовать эту рекомендацию, применитесь только к текущему каталогу, извините за отсутствие знаний :(

Утилита sed не может сделать это сама по себе, поскольку у нее нет опции рекурсии через каталоги. Вместо этого вам нужно сделать что-то, что найдет файлы и загрузит их в sed, например

find /path/to/start -type f -name '*.php' -print 0 | xargs -0 sed -ri  '1 s/.*<\?php \$xgzdxgn.*\$tdjwdrzy.*\$vbtpmtzqq-1; \?>//g'

должен сделать свое дело. Вероятно, стоит проверить это без -i прежде чем слепо запустить его.

Вы не должны пытаться исправить ваш взломанный сервер с помощью такой повязки. У вас все еще есть исходная уязвимость на сервере, и ваш сервер по-прежнему принадлежит злоумышленникам.

Единственный надежный способ - восстановить данные из хорошо известных резервных копий и затем применить все доступные обновления ОС. Конечно, если у вас есть версия EOL, вам необходимо обновить всю ОС.