Уязвимости в модулях Битрикс: что случилось и как защититься
Время прочтения:
3 минуты Причина взлома
Атака стала возможна из-за использования устаревших версий популярных модулей: 1. Импорт из Excel (версии 2.5.1–2.8.9)
2. Экспорт в Excel (0.8.6–1.2.2)
3. Экспорт/Импорт товаров в Excel (2.5.1–2.8.9)
4. Импорт из XML и YML (0.6.8–1.1.6)
5. Массовая обработка элементов инфоблока (0.5.9–0.7.7
6. Многофункциональный экспорт/импорт в Excel (0.2.2–0.4.8)
Что делать, если вы используете эти модули
1. Обновитесь до последних версий CMS и модулей. В актуальных релизах уязвимости уже закрыты — это самый надежный способ защиты.
2. Если обновление невозможно, примените патч.
Для этого:
1. Перейдите в административную часть Битрикс: Настройки → Инструменты → Командная PHP-строка.
2. Вставьте и выполните следующий скрипт:
$arFiles = array( '/bitrix/modules/esol.allimportexport/admin/cron_settings.php', '/bitrix/modules/esol.importexportexcel/admin/iblock_export_excel_cron_settings.php', '/bitrix/modules/esol.importexportexcel/admin/iblock_import_excel_cron_settings.php', '/bitrix/modules/esol.importxml/admin/import_xml_cron_settings.php', '/bitrix/modules/esol.massedit/admin/profile.php', '/bitrix/modules/kda.exportexcel/admin/iblock_export_excel_cron_settings.php', '/bitrix/modules/kda.importexcel/admin/iblock_import_excel_cron_settings.php', ); $cnt = 0; foreach($arFiles as $fn) { $fn = $_SERVER['DOCUMENT_ROOT'].$fn; if(file_exists($fn)) { chmod($fn, 0775); $c = file_get_contents($fn); while(preg_match('#<\?.*//.*403 Forbidden.*\?>\s*<\?#Uis', $c, $m)) { $c = str_replace($m[0], '<?', $c); } $c = preg_replace('/^.*<\?/Us', '<?', $c); if(stripos($c, '403 Forbidden')===false || preg_match('/[^\/@]@?exec\(\$phpPath.\' \-v\'.*prolog_admin_before\.php/is', $c)) { file_put_contents($fn, "<?if(isset(\$_REQUEST['path']) && strlen(\$_REQUEST['path']) > 0) { header((stristr(php_sapi_name(), 'cgi') !== false ? 'Status: ' : \$_SERVER['SERVER_PROTOCOL'].' ').'403 Forbidden'); die(); } ?>".preg_replace('/@exec\(\$phpPath.\' \-v\'/', '//$0', $c)); $cnt++; } } } unlink(__FILE__); echo 'patched:'.$cnt.'.';
Если сайт уже заражен
Узнать о взломе можно по следующим симптомам:
1. Измененный контент на сайте
2. Подмена Cron-задач
3. Подозрительные процессы на сервере
4. Массовая рассылка спама
5. Новые, несанкционированные администраторы
Как восстановиться
1. Восстановите сайт из резервной копии. Это самый безопасный способ вернуть систему к рабочему состоянию.
2. Обновите CMS и все модули до последних версий.
Если бэкапов нет, выполните следующее:
Очистка и проверка сайта
1. Сканирование файлов на вирусы
Перейдите в админку:
Рабочий стол → Настройки → Проактивная защита → Поиск троянов → Сканирование файлов
Удалите зараженные файлы, если они будут найдены.
2. Проверка .htaccess
В том же разделе выполните: Проверка .htaccess → Удалить всё и установить минимальный набор.
3. Очистка Cron-задач
Подключитесь по SSH и выполните:
crontab -l
Удалите подозрительные задачи.
4. Проверка запущенных процессов
1. Перезагрузите сервер
2. Проверьте процессы командой htop, top или ps aux
Завершите подозрительные процессы с помощью:
kill [PID]
PID каждого процесса будет указан в выводе команд htop, top или ps aux.
5. Проверка пользователей
Зайдите в: Настройки → Пользователи → Список пользователей. Убедитесь, что логины и email-адреса администраторов не были подменены.
Если вы столкнулись с проблемами безопасности на сайте, мы готовы подключиться и всё настроить. Поможем с обновлением системы, установкой патчей, восстановлением зараженного сайта, а также с покупкой или продлением лицензии 1С-Битрикс.
Если вы столкнулись с проблемами безопасности на сайте, мы готовы подключиться и всё настроить. Поможем с обновлением системы, установкой патчей, восстановлением зараженного сайта, а также с покупкой или продлением лицензии 1С Битрикс24.