Множественные уязвимости в последних версиях CMS 1С-Битрикс с видео атаки

- КиТ :: Будь в СЕТИ!

Для актуального на сегодня исследования безопасности, была выбрана демо версия интернет-магазина, работающего на CMS 1С-Битрикс. Исследование проводилось в виртуальной лаборатории 1С-Битрикс, предназначенной для онлайн тестирования функционала платформы. Внимание! Данные материалы представлены исключительно в ознакомительных целях

Взлом и нарушение информационной целостности сторонних продуктов является уголовно наказуемым деянием.

Адрес лаборатории «1С-Битрикс: Управление сайтом»: . Не внося никаких изменений в процесс инсталляции, был «развернут» демо интернет-магазин, работающий под управлением 1С-Битрикс: Управление сайтом 16.5.4 по адресу: Первым делом, было принято решение обновить решения до последней версии. После установки обновления (1С-Битрикс Решение «Современный интернет-магазин» версии 16.5.3), было начато исследование безопасности предложенного сайта.

Безопасность публичной части сайта «коробки» не вызывала нареканий и ранее, поэтому основное внимание было уделено административному разделу исследуемого сайта.

Множественные XSS

Наибольшее количество уязвимостей кода, позволяющих эксплуатацию непостоянных XSS атак были обнаружены в разделе «Дополнительные поля» административного раздела сайта: Адрес: В этом разделе, система предлагает создавать пользовательские поля для следующих типов данных: «Видео», «Привязка к элементам highload-блоков», «Строка», «Целое число», «Число», «Дата со временем», «Дата», «Да/Нет», «Файл», «Список», «Привязка к разделам инф. блоков», «Привязка к элементам инф. блоков», «Шаблон», «Опрос», «Содержимое ссылки».

Уязвимыми для XSS атак обнаружены поля формы для создания типов данных «Видео» и «Список».

Форма: Уязвимые поля для типа данных «Видео»

Поле input, вариант проверки возможности эксплуатации XSS: N Название поля name 1 Размер буфера в секундах SETTINGS[BUFFER_LENGTH] 2 Уровень громкости в процентах от максимального: SETTINGS[VOLUME] 3 Размеры (Ш х В, px) SETTINGS[WIDTH] 4 Размеры (Ш х В, px) SETTINGS[HEIGHT] 5 Цвет фона панели управления: SETTINGS[BGCOLOR] 6 Цвет элементов управления SETTINGS[COLOR] 7 Цвет эл. управления при наведении указателя мыши: SETTINGS[OVER_COLOR] 8 Цвет экрана: SETTINGS[SCREEN_COLOR] 9 id="bx_player_skin_input" (скрытое поле) SETTINGS[SKIN]

Поле textarea, вариант проверки возможности эксплуатации XSS: 10 Дополнительные переменные SETTINGS[FLASHVARS] 11 Дополнительные переменные Silverlight: SETTINGS[SILVERVARS]

Уязвимое поле для типа данных «Список»

Поле input, вариант проверки возможности эксплуатации XSS: 12 Подпись при отсутствии значения: SETTINGS[CAPTION_NO_VALUE]

На действия администраторов сайта (входящих в группу «Администраторы [1]») фильтр проактивной защиты Битрикс не распространяется, поэтому эксплуатация XSS атаки возможна без каких-либо ограничений.

Предполагая вопрос по поводу получения данных «защищенной» http-only cookie PHPSESSID: данные этой cookie не требуется для успешной эксплуатации атаки. Приведенный ниже пример успешной эксплуатации связки XSS + CSRF на «1С-Битрикс: Управление сайтом» подтверждает факт того, что использование http-only cookie нельзя рассматривать как полноценную защиту от XSS атак.

Эксплуатация CSRF атаки.

В процессе проведенного исследования, мы обратили внимание на возможность получения CSRF токенов, в разделе настроек пользователей (в т.ч. администраторов) системы: Адрес сайта: (на момент тестирования) . К примеру, в случае смены пароля, или каких иных учетных данных администратора, данные отправляются на обработчик следующим образом: Единственными валидируемыми данными (полагаю, что это и есть CSRF токены) для этого запроса являются:

«autosave_id» и «sessid», которые элементарно получить с помощью JS:

В качестве примера, можно привести «тестирование» на XSS, вышеописанных полей.

Для того, чтобы взломать сайт на CMS 1С-Битрикс, эксплуатируя XSS+CSRF, достаточно сделать вектором атаки запрос, который, к примеру, изменит учетные данные доступа администратора сайта, или добавит нового, созданного атакующим.

Для подтверждения вышеописанного способа атаки на сайт, мы создали «боевой» JS скрипт, эксплуатирующий недостатки в разработке системы, и протестировали его работоспособность атаки на практике, в виртуальной лаборатории 1С-Битрикс.

Скрипт успешно «отработал», поставленную перед ним задачу. Итогом работы стала смена имя пользователя, пароля и почты администратора сайта. Авторизация в административной части «нового» администратора прошла успешно.

Вектором атаки является обычный POST XMLHttpRequest к /bitrix/admin/user_edit.php.

По понятным причинам, POC по эксплуатации вышеописанной техники атак на сайты, работающих под управлением «1С-Битрикс: Управление сайтом» в статье предоставлен не будет.

Вся информация по вышеописанной проблеме безопасности (включая вектор атаки) была передана в компанию Битрикс 19 сентября 2016 года. На 16 января 2017 года, уязвимости административного раздела CMS 1С-Битрикс версии 16.5.4 не устранены.

Дополнение:

На сегодняшний день, виртуальная лаборатория 1С-Битрикс предлагает к тестированию решения на CMS 1С-Битрикс 16.5.4. Ядро платформы в виртуальной лаборатории 1С-Битрикс, путем нехитрых манипуляций, можно обновить до версии 16.5.8.

В редакции 1С-Битрикс: Управление сайтом 16.5.8 вышеописанные XSS устранены, но проблемы безопасности, особенно в плане эксплуатации CSRF атаки, остались прежними. Проблемы с XSS также никуда не делись.

К примеру, эксплуатация вышеописанной угрозы возможна через уязвимые поля раздела: «Создать курс валют» -> «Настройки курса» по адресу:

Уязвимыми к XSS являются следующие поля формы: N Название поля name 1 Номинал RATE_CNT 2 Курс RATE

Реализация самой атаки в реакции 1С-Битрикс: Управление сайтом 16.5.8 осталась прежней.

Видео по теме:

ПодпискаБудь в СЕТИ! Новости социальных сетей - всегда актуальное
 
Группы: ВК | OK | Tg