Удаление иньекций eval(base64_decode("...")) из PHP скриптов
Если на вашем сайте произошел взлом и в файлах *.php встречаются множественные вхождения чужого кода вида, например:
<?php eval(base64 decode("DQpdfdu8Ggf9cvsdRfcds9ssdsSSRTFdxkfQ==")); ?>
и как правило зараженных файлов много, то для удаления инъекции можно использовать скрипт:
#!/bin/bashvirus='eval(base64_decode("DQpdfdu8Ggf9.*Q=="));'find . -type f -name '*.php' -exec sed --in-place -e "s/$virus//g" '{}' \;
где DQpdfdu8Ggf9 и Q== — начало и конец вредоносного кода из примера.
Данная команда найдет все файлы *.php, найдет в них строку с сигнатурой eval(base64_decode("...")) и удалит ее из зараженный файлов.
Обратите внимание, что данная команда только очищает зараженные файлы, но не убирает источник заражения, поэтому для того, чтобы найти источник заражения мы рекомендуем:
- следить за движком своего сайта и своевременно обновлять его;
- на сайте использовать только проверенные и одобренные официальным разработчиком расширения;
- следить за безопасностью Вашего локального компьютера с помощью антивирусных программ.
Более подробную информацию о действиях, которые необходимо предпринять после взлома сайта и/или заражения скриптов сайта, вы можете узнать в статье Действия при взломе сайте.