Сайт взломали и он помещает код в верхнюю строку каждой страницы php перед открытием <?php
тег, я хочу использовать sed, чтобы удалить его из всех файлов с помощью одной команды.
Начинается с
<?php if(!isset($GLOBALS["\x61\156\x75\156\x61"]))
и заканчивается
-1; ?><?php
Я думаю, что это вызвано старой версией плагина wordpress mailpoet (wysija).
http://blog.sucuri.net/2014/10/wordpress-websites-continue-to-get-hacked-via-mailpoet-plugin-vulnerability.html
Я попробовал ответы на эти два вопроса, но решения не убрали эти строки для меня. Я был бы признателен за любую помощь, так как я не эксперт по командам Unix.
Массовое удаление вредоносной строки из php файлов
Удаление строки в файле PHP с помощью Start и End
///РЕДАКТИРОВАТЬ
Пример ввода, который я использовал, должен был удалить строку из файла, но файл остался прежним, ничего не выводит на терминал
sed -i '1 s/^<\?php if(!isset($GLOBALS\[.*-1; \?>//' *.php
После того, как эта команда работает, я хочу объединить ее с командой find для запуска на всем сервере
Вы можете попробовать эту команду GNU sed,
sed -r '1s/^<\?php if\(!isset\(\$GLOBALS\[.*-1; \?>//' *.php
Добавить встроенную опцию редактирования i
сохранить сделанные изменения.
sed -ri '1s/^<\?php if\(!isset\(\$GLOBALS\[.*-1; \?>//' *.php
find . -name "*.php" -print0 | xargs -0 sed -ri '1s/^<\?php if\(!isset\(\$GLOBALS\[.*-1; \?>//' *.php