Bitrix: уязвимость CGI Generic HTML Injections

Уязвимость актуальна для версии v21.9 и ниже. Пока нет информации что исправлена!

Эксплуатация: при переходе по специально сформированной ссылке на сайт с битриксом, выводится произвольное содержимое и выполняется произвольный js код.

Проверка вшивости сайта:

https://ваш_сайт/catalog/?q=<"dqzsbr%20>

Исправление: самый простой способ, до исправления от битрикса — поправить .httaccess, добавив строчки:

   
    RewriteCond %{QUERY_STRING} "
    RewriteRule ^.*$ - [F]
    RewriteCond %{QUERY_STRING} %22
    RewriteRule ^.*$ - [F]
    RewriteCond %{QUERY_STRING} %3C
    RewriteRule ^.*$ - [F]
    #RewriteCond %{QUERY_STRING} \<
    RewriteCond %{QUERY_STRING} %27
    RewriteRule ^.*$ - [F]
    RewriteCond %{QUERY_STRING} %3E
    RewriteRule ^.*$ - [F]


Убираем сбор статистики из bitrix

Задача: убираем из «голого» битрикс все сторонние скипты, тянущиеся с других ресурсов. Один из таких ресурсов — bitrix.info, который подтягивает bu.js

Решение: в файле .settings.php добавляем:

'analytics_counter'  => 
   array  (
     'value'  =>
     array  (
       'enabled'  =>  false ,
    ),
  ),

HelpDesk-z: класс для взаимодействия по API

Документация: https://docs.helpdeskz.com/en/latest/

С моими правками: https://github.com/donpadlo/helpdeskz-dev

В принципе эта ХелпДеск система уже умеет работать с API, осталось дело за малым — обернуть это всё в удобный класс для работы:

» Читать далее

Особенности установки helpdesk-z

К сожалению в руководстве по установке, процесс описан очень коротенько, и очень часто установка сводится к выводу сообщения:

Whoops! We seem to have hit a snag. Please try again later…

Чтобы улучшить информативность фреймворка, что же ему таки не хватает, можно временно добавить в index.php строчку:

define('ENVIRONMENT', 'testing');

Но! В этом случае после успешного прохождения всех шагов инсталляции, фремворк будет пытаться проходить тесты и писать результаты в SQLite3, что нам не нужно. Потому не забудьте эту строчку удалить.

Для локализации, достаточно скачать необходимый язык из https://github.com/helpdesk-z/translations, и в настройках поменять локаль на нужную

1С: ТабличныйДокумент поле объекта недоступно для записи

Это происходит если в этой ячейке содержится значение а не текст, при попытке записи текста. Поэтому делаем так:

		ТекОбласть = ТабличныйДокументВыписка.Область("R"+  Формат( НомерСтроки, "ЧГ=0") + "C" + 9);
		Если ТекОбласть.СодержитЗначение Тогда
			ТекОбласть.Значение=НомерФС;
		иначе
			ТекОбласть.Текст=НомерФС;
		конецесли
1 74 75 76 77 78 300