Исследователи обнаружили масштабную кампанию по краже платежных данных, в которой вредоносный код маскируется под обычное изображение. Атака затронула почти 100 интернет-магазинов на платформе Magento.
Читайте также: Поддельные плагины Strapi устроили точечную атаку на Guardarian: в npm нашли 36 вредоносных пакетов
Главная особенность — вредоносный скрипт не подключается отдельно, а полностью «зашит» внутрь SVG-изображения размером 1×1 пиксель, добавленного прямо в HTML страницы.
Читайте также: Критическую уязвимость в Marimo начали использовать меньше чем через 10 часов после публикации
Заражение происходит на стороне сайта. По данным исследователей Sansec, злоумышленники, вероятно, получают доступ через уязвимость PolyShell, которая позволяет выполнять код без авторизации и захватывать учетные записи.
Дальше схема выглядит так:
-
в HTML страницы вставляется SVG-элемент размером 1×1 пиксель
-
внутри него используется обработчик события
onload -
в этом обработчике содержится весь вредоносный код, закодированный в
Base64 -
код разворачивается через
atob()и выполняется с задержкой(setTimeout)
Вредоносный код не загружается извне — он полностью встроен в атрибут HTML. Это позволяет обходить многие системы защиты, которые ищут подозрительные внешние скрипты.
Когда пользователь нажимает кнопку оплаты:
-
вредоносный скрипт перехватывает действие
-
появляется фальшивое окно «Secure Checkout»
-
пользователь вводит данные карты
-
данные проверяются на валидность прямо в браузере
-
информация отправляется злоумышленнику
Передача данных происходит в зашифрованном виде — используется XOR и дополнительная обфускация через Base64.
Этот метод отличается от классических атак MageCart. Ведь нет ни внешних JS-файлов, ни подозрительных запросов при загрузке страницы. Код выглядит как обычное изображение и сканеры безопасности часто его игнорируют.
Всего затронуто: около 100 магазинов. Используемая платформа: Magento / Adobe Commerce. При этом часть атак связана с PolyShell. Использовались отдельные домены для сбора данных, а каждый сервер мог обслуживать 10–15 заражённых сайтов. Отдельно отмечается, что более половины уязвимых магазинов уже подвергались попыткам атак через PolyShell.
Использование SVG как контейнера для вредоносного кода — устойчивый тренд последних лет. Ведь SVG может содержать JavaScript и работать как активный документ. Атаки с SVG выросли кратно с конца 2024 года. Так файлы используются для фишинга, кражи данных и доставки троянов
Практические признаки заражения:
-
наличие SVG с
onloadв HTML -
использование
atob()внутри атрибутов -
неизвестные запросы вида
/fb_metrics.php -
странные ключи в localStorage (например,
_mgx_cv)
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.
Вопросы по теме
Что такое SVG и почему он опасен?
Почему атака незаметна?
Что крадут злоумышленники?
Можно ли защититься пользователю?
Что делать владельцам сайтов?
Читайте также
Juniper срочно закрыла почти три десятка уязвимостей в Junos OS: среди них есть уязвимости с риском полного захвата устройства
Критическую уязвимость в Marimo начали использовать меньше чем через 10 часов после публикации