К нам обратились сразу несколько владельцев сайтов с однотипной проблемой. На десктопной версии несколько странно себя ведут всплывающие окна для форм и оповещений - например, при загрузке страницы они загружаются все, несмотря на то, что некоторые должны только открываться по клику. А если заходить с мобильных устройств, то срабатывает редирект (точнее там несколько редиректов подряд) на один и тот же сайт с призами и лояльностью.
Заглянем теперь по ftp в папки сайта на хостинге. Смотрим на даты изменений папок и файлов. В корне сайта находим что недавно менялся файл wp-blog-header.php и добавлен новый плагин в папку /plugins/wp-felody/.
Пробуем найти еще что нибудь интересное. На хостинге запускаем проверку антивирусом, результат нулевой:
Устанавливаем на одном из сайтов плагин Wordfence запускаем Сканирование и получаем больше 30 различных критических и не очень проблем. То, что какие-то плагины не обновлены - нас пока не интересует. Интересуют два следующих результата:
То есть проблема именно в этом файле и этой папке, как мы уже определили на глазок. А еще помним что была проблема с всплывающими окнами и под подозрение попадает один плагин Popup Builder - он как раз установлен на всех проблемных сайтах. Что же, источник проблем найден, но поищем что по этому поводу пишут в интернете.
И вот попадается занимательная статья https://blog.sucuri.net/2024/01/thousands-of-sites-with-popup-builder-compromised-by-balada-injector.html в которой говорится, что еще с декабря 2023 плагин Popup Builder стал приносить проблемы сайтам на WP своей уязвимостью. Краткое описание - файл wp-blog-header.php содержит JavaScript инъекцию, кроме base64 кодирования код еще сопровожден мусорными комментариями, поэтому декодировать его не просто. Этот код создает и активирует в админке фейковый плагин WP-Felody. От себя добавим что редакторы типа notepad++ и vsc этот код не "видят":
Сравнивать зараженный файл с оригинальным с помощью Total Commander тоже бесполезно. Открытие инфицированного wp-blog-header.php в обычном блокноте или Wordpad позволяет увидеть лишний код.
Кроме этого в кастомные настройки JS активных popup окон также добавляется вредоносный код, влияющий на их поведение, а именно создает октрытие при загрузке страницы.
Теперь вопрос, можно ли пользоваться данным плагином? На сайте разработчика в информации об изменениях security issue присутствует. Значит можно. https://wordpress.org/plugins/popup-builder/#developers
Итак, дальнейший порядок действий для удаления иньекции:
отключаем плагин Popup Builder
обновляем сам Wordpress, если у нас последняя версия или по каким-то причинам необходимо остаться на текущей версии, скачиваем свою версию релиза https://ru.wordpress.org/download/releases/ и заменяем файл wp-blog-header.php
удаляем папку /plugins/wp-felody/
обновляем и включаем плагин Popup Builder
- очищаем кастомный JS в настройках каждого всплывающего окна.
меняем настройки всплывающих окон, если они срабатывают не так как до заражения (меняем триггеры или шаблоны).
Узнать версию Wordpress можно в админке Консоль/Главная:
Ну и конечно советы! Регулярно обновляйте свой сайт на Wordpress - саму систему и установленные плагины. Неактивные плагины удаляйте. Рано или поздно темы также становятся уязвимыми. Если у вас нет возможности обновить коммерческие темы или плагины - обращайтесь, найдем решение!
Проблема не в том, что сайт сделан на Wordpress - другие CMS тоже не дадут 100% гарантии от взлома. Просто за своим сайтом нужно следить также как за своим домом: уборка, ремонт и так далее.