23/07/2022
Уязвимость (или ряд уязвимостей) позволяют выполнять произвольный код на сервере, на котором работает сайт. Предположительно, уязвимые версии PrestaShop: от 1.6.0.10 до 1.7.8.1 включительно.
Один из уязвимый модулей: blockwishlist (в админке может отображаться на русском, как «Избранное» или «Мой список желаний»). Уязвимые версии: 2.0.0, 2.1.0.
По всей видимости, есть ряд неизученных уязвимостей. Команда PrestaShop пока не может сообщить больше информации, но готовит релиз PrestaShop с исправлениями. То есть, пока нет полной информации, как злоумышленники производят взлом сайта, поэтому на данный момент вы можете рассчитывать только на свои силы.
Как сообщается командой PrestaShop, одна из целей злоумышленников – подменить форму страницы оформления заказа, чтобы украсть данные банковских карт ваших клиентов (такие случаи зафиксированы). Но с такой уязвимостью, можно делать что угодно с любыми файлами PrestaShop и базой данных и, может быть, даже больше, если позволяют привилегии пользователя операционной системы, под которым работает веб-сервер.
Как узнать, что ваш сайт уже атакован?
Чтобы узнать об изменённых файлах PrestaShop, в админке перейдите в «Расширенные параметры / Информация», прокрутите страницу в самый низ и изучите раздел «Список измененных файлов». Однако ваши программисты могли сами внести изменения в файлы PrestaShop, поэтому в этом случае вы должны сами знать, какие файлы менялись по вашему заданию. Если же вы или ваши программисты не вносили изменений в файлы PrestaShop, то вероятно, что одна из уязвимостей уже эксплуатирована на вашем сайте. Обратите внимание, что вредоносный код может подменить информацию в этом разделе админки, поэтому ей не стоит доверять полностью. Чтобы быть уверенным точно, вы можете использовать модуль «Сканер изменений кода магазина», чтобы произвести проверку изменённых и новых файлов, и наглядно увидеть конкретные изменения в коде, но такой модуль должен быть установлен заранее. С полной уверенностью вы можете определить, что ваш сайт взломан, если вы найдёте в коде измененных файлов PrestaShop зашифрованный текст алгоритмом BASE64, а также наличием такой функции PHP, как eval. Обратите также внимание, что это касается файлов самой системы PrestaShop, т.к. некоторые модули от сторонних разработчиков могут содержать в коде вызовы функций PHP: base64_decode и eval (но только в том случае, если разработчик модуля применяет алгоритмы защиты кода модуля от нелицензионного копирования). Вы можете обратиться к разработчикам таких модулей, если заподозрите неладное.
Некоторые пользователи сообщили, что обнаружили несанкционированные изменения в файлах:
А также появление новых файлов (наименования файлов у вас могут быть другими):
Если обнаружите эти новые подозрительные файлы, то сохраните их и расположение к этим файлам на вашем сервере, а затем передайте информацию для изучения одну из программистов, который сможет вам помочь. Затем, удалите эти файлы с вашего сервера.
Рекомендации команды PrestaShop:
if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php';
$smarty->caching_type = 'mysql';
}
Если вы узнали, что ваш сайт атакован и вам необходима помощь, то обратитесь к программисту на нашем маркетплейсе, который занимается в том числе исправлением уязвимостей.
Дополнительно: информация об уязвимости на английском от команды PrestaShop.
Всем мира.