Удаление иньекций eval(base64_decode("...")) из PHP скриптов

Рассматривается методика удаления инъекций eval(base64_decode("...")) с помощью ssh доступа.

Если на вашем сайте произошел взлом и в файлах *.php встречаются множественные вхождения чужого кода вида, например:

<?php eval(base64 decode("DQpdfdu8Ggf9cvsdRfcds9ssdsSSRTFdxkfQ==")); ?>

и как правило зараженных файлов много, то для удаления инъекции можно использовать скрипт:

#!/bin/bash
virus='eval(base64_decode("DQpdfdu8Ggf9.*Q=="));'
find . -type f -name '*.php' -exec sed --in-place -e "s/$virus//g" '{}' \;

где DQpdfdu8Ggf9 и Q== — начало и конец вредоносного кода из примера.

Данная команда найдет все файлы *.php, найдет в них строку с сигнатурой eval(base64_decode("...")) и удалит ее из зараженный файлов.

Обратите внимание, что данная команда только очищает зараженные файлы, но не убирает источник заражения, поэтому для того, чтобы найти источник заражения мы рекомендуем:

  • следить за движком своего сайта и своевременно обновлять его;
  • на сайте использовать только проверенные и одобренные официальным разработчиком расширения;
  • следить за безопасностью Вашего локального компьютера с помощью антивирусных программ.

Более подробную информацию о действиях, которые необходимо предпринять после взлома сайта и/или заражения скриптов сайта, вы можете узнать в статье Действия при взломе сайте.

Вам также может помочь