Category: Bitrix(Страница 1 из 2)

Критическая уязвимость в стандартном модуле landing битрикс приводящая к взлому сайта

BDU:2023-05857: Уязвимость модуля landing системы управления содержимым сайтов (CMS) 1С-Битрикс: Управление сайтом, позволяющая нарушителю выполнить команды ОС на уязвимом узле, получить контроль над ресурсами и проникнуть во внутреннюю сеть

Советую срочно обновить битрикс обновления до 23.850.0 и выше. Если нет возможности обновиться, то удалить модуль landing, если он не используется.

Для надежности можно удалить директорию landing в директории bitrix сайта. Или например переименовать в _landing и вынести за пределы корня сайта (чтобы у злоумышленников не было возможности дотянуться до уязывимых файлов из этой папки).

Обнаруженная уязвимость имеет максимальный уровень опасности (CVSS 10/10). Удаленное выполнение кода на уровне ОС без авторизации, поэтому в ближайшее время все уязвимые публичные битриксы будут атакованы.

Как потенциальное временное решение можно ограничить доступ к битриксу по белому списку IP-адресов, если это возможно.

Описание уязвимости: Уязвимость модуля landing системы управления содержимым сайтов (CMS) 1С-Битрикс: Управление сайтом вызвана ошибками синхронизации при использовании общего ресурса. Эксплуатация уязвимости может позволить нарушителю, действующему удалённо, выполнить команды ОС на уязвимом узле, получить контроль над ресурсами и проникнуть во внутреннюю сеть
Вендор: ООО «1С-Битрикс»
Наименование ПО: 1С-Битрикс: Управление сайтом (запись в едином реестре российских программ №35)
Версия ПО: до 23.850.0
Тип ПО: Прикладное ПО информационных систем
Тип ошибки: Одновременное выполнение с использованием общего ресурса с неправильной синхронизацией («Ситуация гонки»)
Идентификатор типа ошибки: CWE-362
Класс уязвимости: Уязвимость кода
Дата выявления: 13.09.2023
Уровень опасности уязвимости: Максимальный уровень опасности (базовая оценка CVSS 2.0 составляет 10, базовая оценка CVSS 3.0 составляет 10)
Возможные меры по устранению уязвимости: Обновление программного продукта до версии landing 23.850.0 и выше
Статус уязвимости: Подтверждена производителем
Наличие эксплойта: Существует
Способ эксплуатации: Манипулирование сроками и состоянием
Способ устранения: Обновление программного обеспечения
Информация об устранении: Уязвимость устранена
Ссылки на источники:
https://dev.1c-bitrix.ru/docs/versions.php?lang=ru&module=landing
https://www.bitrix24.ru/features/box/box-versions.php?module=landing
https://www.bitrix24.com/features/box/box-versions.php
https://www.bitrix24.com/features/box/box-versions.php?module=landing
https://safe-surf.ru/upload/VULN-new/VULN.2023-09-21.1.pdf

VULN.2023-09-21.1

Порядок установки модуля «Интернет-магазин + 1С»

Порядок установки модуля «Интернет-магазин + 1С»

Порядок установки модуля

Если раньше был установлен модуль обмена 4 версии, то необходимо обновить его до последней версии, а только потом устанавливать модуль обмена 5 версии

Если раньше стояла 4 версия модуля, то после обновления модуля до 5 версии — необходимо запустить внешнюю обработку, которая сконвертирует настройки обмена до 5 версии. Обработка находится там же, где и сам модуль обмена.

  • 1. Установить скаченный установщик модуля обмена;
  • 2. Запустить систему 1С:Предприятие в режиме «Конфигуратор».
  • 3. Сделать архивную копию информационной базы. Для этого в меню «Администрирование» выбрать пункт «Выгрузка информационной базы» и в открывшемся диалоге указать имя файла, в который будут записаны данные.
  • 4. Открыть конфигурацию, для этого в меню «Конфигурация» выбрать пункт «Открыть конфигурацию» или нажать на соответствующую кнопку.
  • 5. Если конфигурация закрыта для изменения(на скриншоте в дереве конфигурации соответствующий значок), то необходимо включить возможность изменения.
  • 6. Для того, чтобы включить возможность изменения объектов конфигурации, необходимо в меню «Конфигурация» выбрать «Поддержка», затем «Настройка поддержки». В открывшемся окне нажать кнопку «Включить возможность изменения». В окне «Настройка правил поддержки» выбрать дважды «Объект поставщика редактируется с сохранением поддержки», нажать «ОК». Сохранить конфигурацию.
  • 7. После выполнения операции в конфигурацию 1С можно вносить изменения. Значок в дереве конфигурации оповещает об этом.
  • 8. Вызвать режим «Сравнить, объединить с конфигурацией из файла» из меню «Конфигурация». В этом режиме будут показаны только различающиеся объекты дополнения и используемой конфигурации, поэтому полностью идентичные объекты могут отсутствовать в окне сравнения-объединения.
  • 9. В диалоге выбора указать файл конфигурации «XXX.cf». По умолчанию он лежит по следующему адресу: C:\Users\...\AppData\Roaming\1C\1Cv82\tmplts\1С-Битрикс\ОбменСБ24\(конфигурация 1С).
  • 10. В окне сравнения объединения необходимо исключить из объединения все объекты. Для этого можно снять флаг напротив названия конфигурации.
  • 11. Для указания объектов только устанавливаемого модуля, необходимо нажать на кнопку «Действия» — «Отметить по подсистемам файла».
  • 12. Нужно установить флажок напротив пункта «ОбменСИнтернетМагазином» и «Включать объекты родительских подсистем»
  • 13. Также необходимо включить подсистему «Битрикс»: «Конфигурация» — «Общие» — «Подсистемы» — «Битрикс». Если модуль ранее уже стоял, то этот пункт выполнять не нужно.
  • 14. Для выполнения объединения необходимо нажать на кнопку «Выполнить».
  • 15. В некоторых случаях может возникнуть окно «Неразрешимые ссылки». В этом случае нужно нажать на кнопку «Продолжить»
  • 16. После выполнения объединения конфигурации сохраняем конфигурацию и обновляем базу данных. Обновить базу данных можно нажав на кнопку указанную на скриншоте.
  • 17. Если модуль раньше не был установлен, то высветится окно с изменениями в структуре. Нужно нажать на кнопку «Принять».
  • 18. После установки модуля, для работы с ним, пользователям необходимо добавить роль «Роль по работе с БУС».

Скачать DOC

Ошибочное отображение старых новостей в RSS фиде Новостей Битрикс (проблема кросспостинга через RSS ленту)

Для того чтобы распространять новости по различным социальным сетям нужно использовать отдельные сервисы кросспостинга либо своё решение реализующее данную возможность. Как правило все эти сервисы используют RSS ленту, чтобы публиковать новости. Система кросспостинга периодически (по расписанию) запрашивает RSS ленту сайта, разбирает её на составляющие части и принимает решение. Публиковать новость (если она еще не опубликована) или не публиковать её (следовательно уже опубликована).

В Битрикс, чтобы в новостях была подключена возможность генерации RSS, необходимо в настройках разрешить RSS.

[здесь и далее вам нужно заменить https://www.example.com/ на URL своего сайта]

На странице: https://www.example.com/bitrix/admin/iblock_type_admin.php?PAGEN_1=1&SIZEN_1=10&lang=ru

[где «news» это ID типа инфоблока]

https://www.example.ru/bitrix/admin/iblock_type_edit.php?lang=ru&ID=news

После этих манипуляций в свойствах нужного инфоблока:

Появляется возможность редактировать параметры RSS:

Чтобы включить отображение ссылки на RSS-фид (иконка RSS) нужно (в режиме редактирования битрикс) в включаемом компоненте bitrix:news нажать на шестерёнку

Далее в вкладке «Настройки RSS» выставить нужные настройки RSS:

Также необходимо определить порядок сортировки новостей (вкладка «Источник данных»). Как правило Первичная сортировка происходит «по дате начала активности» (по убыванию), и вторичная сортировка «по ID» (по убыванию):

Просмотр RSS фида. Обратите внимание, что вверху самые свежие новости…

А внизу RSS… старые записи. Почему так может проиходить? Мы же правильно выставили настройки RSS. Правильно выставили направления сортировок, и так далее. Но с завидным упорством вылезают старые записи.

Начал копать, и выяснил что:

Старые новости имели пустоту в поле начала активности (поле не было заполнено). Такие события нежелательны в принципе.

После заполнения этого поля, сохранения, обновления кеша вывода компонента RSS ленты будет выводиться…

Корректный вывод RSS ленты:

Следующим шагом будет
проверка настройки «Поля элементов инфоблока» на странице
https://www.example.com/bitrix/admin/iblock_edit.php?type=news&lang=ru&ID=1&admin=Y&return_url=iblock_section_admin.php%3FIBLOCK_ID%3D44%26type%3Dcatalog%26lang%3Dru%26find_section_section%3D0

Где желательно поставить в поле «Начало активности» значение «Текущие дата и время», а также поставить галочку «Обязательное поле».

Благодарю за внимание.

Двуязычная форма в Битриксе

Сегодня мы рассмотрим вопрос создания формы на двух (и более) языках в Битриксе.

Имеем форму:

Где все описания к вопросам на двух языках разделенные слешем (/):

Все действия проводятся в шаболне формы. Чтобы создать новый шаблон, нужно в режиме редактирования:

Нужно скопировать шаблон формы по умолчанию (.default) с новым именем, например visit-form

и выбрать месторасположение (по умолчанию в общем шаблоне .default).

Сохраняем. Затем нажимаем на шестеренку формы, выбираем Заполнение веб-формы -> Редактировать шаблон компонентов:

Мы увидим шаблон формы, а точнее адрес этого шаблона в файловой системе хостинга.

После этого, я настоятельно рекомендую вам найти этот файл в FTP-клиенте, сделать его резервную копию. После этого можете открыть рабочий файл в своём любимом текстовом редакторе, и уже работать с ним.

Далее опишу алгоритм решения вопроса:

Мы определяем элемент(ы) которы(й|е) нужно распарсить на два языка и вывести на той или иной стороне сайта. В моём случае мы определяем массив, где элементов больше 200 (список стран и регионов) — строка 25. Потом пробегаемся по массиву этого отдельного вопроса «Страны» (строка 32) и распарсиваем его на 2 языка — строка 37.

Строки 40-44 описывают условие при котором на той или иной стороне сайта выводится тот или иной язык описания вопроса (в нашем случае название страны-региона то на английском то на русском языке).

Подобный алгоритм используем в отношении самих «Вопросов» — строки 62-70.

В целом код прокомментирован и там всё понятно.

Обновление данных в отдельном результате заполнения формы Битрикс через Bitrix API

Здесь мы обновим ответ у вопроса «Город» у отдельного результата заполнения формы = 428523

<?php

require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");

if (CModule::IncludeModule("form")) {

// обновим Значение для вопроса "Город" (ID поля ответ №25557) у результата заполнения формы №428523

$RESULT_ID = 428523; // id результата
$arVALUE = array();
$FIELD_SID = "SIMPLE_QUESTION_344"; // символьный идентификатор вопроса
$ANSWER_ID = 25557; // ID поля ответа
$arVALUE[$ANSWER_ID] = "Москва";
CFormResult::SetField($RESULT_ID, $FIELD_SID, $arVALUE);

// вот так, например, можно обновить IP адрес поля формы для определенного результата заполнения формы

CFormResult::SetField(428523, 'user_ip', '58.12.103.27');

}

?>

Смотрим символьный идентификатор вопроса (например: SIMPLE_QUESTION_344)
Обновление данных в отдельном результате заполнения формы Битрикс через Bitrix API

ID поля ответа (например: 25557)
Обновление данных в отдельном результате заполнения формы Битрикс через Bitrix API

Смотрим идентификатор поля user_ip:
Обновление данных в отдельном результате заполнения формы Битрикс через Bitrix API

Страница 1 из 2

© 2007–2024, konyakov.ru