Устранение критических уязвимостей в версии MODX 2.6.5

Всем настоятельно рекомендую обновится до MODX Revolution 2.6.5. Он содержит исправления для двух критических уязвимостей безопасности, затрагивающих все версии до 2.6.4. Обновление до 2.6.5 должна считаться обязательной.
Файлы, которые следует проверить:
Используя уязвимость заражают в 1ую очередь файлы /index.php и /manager/index.php, в них сверху вставляется код, который редиректит на другой сайт.
Проверьте права к файлам. Для этого если у вас есть доступ ssh к серверу, выполните команду
find / -type f -perm 0777
Чтобы найти все файлы с расширением php и правами 777 выполните команду:
find . -name "*.php" -type f -perm 0777
Чтобы удалить все файлы с именем somename.php добавьте к команде find флаг -delete:
find . -name "somename.php" -type f -delete
Чтобы поменять все права к найденным файлам:
find / -type f -perm 0777 -exec chmod 640 {} \;
Обратите внимание после find ставьте точку если вы находитесь в текущей директории и слеш, если вам нужно проверить от корня файловой системы сервера
Опрееделяем какой код вставили и по куску кода проверяем все файлы. В моём случае кусок вредоносного кода содержал eval(base64
. Выполним команду поиска:
grep -rnw './' -e 'eval(base64'
Если файлов много, то нужно снова использовать консоль для удаления вредоносного кода. Команда замены кода sed (от англ. Stream EDitor) — потоковый текстовый редактор:
sed -i "s/вредоносный код/на что заменить/g" {} \;
Найдём все файлы по шаблону в текущей директории и ниже и проведём замену кода во всех файлах с расширением php:
find . -name "*.php" -type f -exec sed -i "s/вредоносный код/на что заменить/g" {} \;
Благодарности
Хотел бы поблагодарить Ивана Климчука (Alroniks) и agel_nash за информирование и подтверждение этих проблем и помощь в обеспечении безопасности MODX.
24-07-2018 CLI SSH Виктор Матушевский