Ваша корзина пуста

Критическая уязвимость PrestaShop

23/07/2022

Уязвимость (или ряд уязвимостей) позволяют выполнять произвольный код на сервере, на котором работает сайт. Предположительно, уязвимые версии PrestaShop: от 1.6.0.10 до 1.7.8.1 включительно.

Один из уязвимый модулей: blockwishlist (в админке может отображаться на русском, как «Избранное» или «Мой список желаний»). Уязвимые версии: 2.0.0, 2.1.0.

По всей видимости, есть ряд неизученных уязвимостей. Команда PrestaShop пока не может сообщить больше информации, но готовит релиз PrestaShop с исправлениями. То есть, пока нет полной информации, как злоумышленники производят взлом сайта, поэтому на данный момент вы можете рассчитывать только на свои силы.

Как сообщается командой PrestaShop, одна из целей злоумышленников – подменить форму страницы оформления заказа, чтобы украсть данные банковских карт ваших клиентов (такие случаи зафиксированы). Но с такой уязвимостью, можно делать что угодно с любыми файлами PrestaShop и базой данных и, может быть, даже больше, если позволяют привилегии пользователя операционной системы, под которым работает веб-сервер.

Как узнать, что ваш сайт уже атакован?

  1. Вы заметили необычное поведение на сайте (изменения на страницах оформления заказа или прочее).
  2. Изменены файлы PrestaShop.

Чтобы узнать об изменённых файлах PrestaShop, в админке перейдите в «Расширенные параметры / Информация», прокрутите страницу в самый низ и изучите раздел «Список измененных файлов». Однако ваши программисты могли сами внести изменения в файлы PrestaShop, поэтому в этом случае вы должны сами знать, какие файлы менялись по вашему заданию. Если же вы или ваши программисты не вносили изменений в файлы PrestaShop, то вероятно, что одна из уязвимостей уже эксплуатирована на вашем сайте. Обратите внимание, что вредоносный код может подменить информацию в этом разделе админки, поэтому ей не стоит доверять полностью. Чтобы быть уверенным точно, вы можете использовать модуль «Сканер изменений кода магазина», чтобы произвести проверку изменённых и новых файлов, и наглядно увидеть конкретные изменения в коде, но такой модуль должен быть установлен заранее. С полной уверенностью вы можете определить, что ваш сайт взломан, если вы найдёте в коде измененных файлов PrestaShop зашифрованный текст алгоритмом BASE64, а также наличием такой функции PHP, как eval. Обратите также внимание, что это касается файлов самой системы PrestaShop, т.к. некоторые модули от сторонних разработчиков могут содержать в коде вызовы функций PHP: base64_decode и eval (но только в том случае, если разработчик модуля применяет алгоритмы защиты кода модуля от нелицензионного копирования). Вы можете обратиться к разработчикам таких модулей, если заподозрите неладное.

Некоторые пользователи сообщили, что обнаружили несанкционированные изменения в файлах:

  • /classes/controller/Controller.php
  • /classes/Db/Db.php
  • /classes/module/Module.php
  • /controllers/admin/AdminLoginController.php
  • /controllers/front/IndexController.php

А также появление новых файлов (наименования файлов у вас могут быть другими):

  • /app/Mage.php
  • /blm.php
  • /js/IzfhY.js

Если обнаружите эти новые подозрительные файлы, то сохраните их и расположение к этим файлам на вашем сервере, а затем передайте информацию для изучения одну из программистов, который сможет вам помочь. Затем, удалите эти файлы с вашего сервера.

Рекомендации команды PrestaShop:

  1. Обновить PrestaShop и все модули до последней версии.
  2. Откройте файл «config/smarty.config.inc.php» и удалите строки:
if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
    include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php';
    $smarty->caching_type = 'mysql';
}

Если вы узнали, что ваш сайт атакован и вам необходима помощь, то обратитесь к программисту на нашем маркетплейсе, который занимается в том числе исправлением уязвимостей.

Дополнительно: информация об уязвимости на английском от команды PrestaShop.

Всем мира.

Все новости