Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Поле HTML документа на УФ: почему eval не сочли безопасным и вырубили?

Поле HTML документа на УФ: почему eval не сочли безопасным и вырубили?
Я
   Вуглускр1991
 
12.01.22 - 12:44
Добрый день!
Некоторое время назад (годы) читал информацию о том, что поле HTML документа позволяло создавать объекты ActiveX и выполнять разные скрипты, которые (почему-то) не считались безопасными. И вот сейчас не могу найти на эту тему публикаций и соображений.
Что конкретно было небезопасно? Какие вектора атаки считались возможными?
Платформа в настоящее время использует webkit и хотелось бы сравнить и понять, что из того, что не считалось безопасным тогда, можно реализовать сейчас, а что удалось защитить полностью.
Кто-нибудь помнит?
Прошу мнения. Заранее благодарю.
   acht
 
1 - 12.01.22 - 12:56
Кто вырубил eval? Причем тут ActiveX?
   acht
 
2 - 12.01.22 - 12:58
Раньше поле HTML документа было реализовано через IE, на который влияли политики безопасности. В других движках ActiveX никогда не работал.

Что ты там от чего защищаешь?
   Вуглускр1991
 
3 - 12.01.22 - 13:31
Надо принять решение о том, чтобы использовать HTML поле в ДМЗ. И собираю информацию о возможных негативных последствиях.
   Kassern
 
4 - 12.01.22 - 13:33
(3) что за "ДМЗ"? Демиховский машиностроительный завод?)
   Йохохо
 
5 - 12.01.22 - 13:34
(3) при чем тут демилитаризованная зона? шлейф новогодних праздников накрыл ершалаим
   acht
 
6 - 12.01.22 - 13:36
(3) HTML поле - это браузер.
Ты собираешь информацию, о возможных негативных последствиях использования браузера в ДМЗ?
   Вуглускр1991
 
7 - 12.01.22 - 13:41
(5) Ну, например в зоне, которая защищена через авторизацию в AD все пользователи - сотрудники, которым мы доверяем работу в 1С в браузере и тонком клиенте. А из ДМЗ к нам на сайт кто угодно зайдет, в том числе те, кто будут пытаться атаковать.
Вот вопрос в том и состоит, что если кто-то с такими намерениями зайдет, что что же он сможет атаковать?
   Вуглускр1991
 
8 - 12.01.22 - 13:45
(6) Сейчас рабочие места доступны из офиса. Но если опубликовать базу, тогда она станет доступна с территорий, которые не контролируются службой охраны, видео-наблюдением и брошенный ноутбук с незаблокированным экраном с активной сессией в базе данных становится возможностью для атак
на что?
   Вуглускр1991
 
9 - 12.01.22 - 13:48
И если до публикации базы в ДМЗ можно было думать, что все вокруг сотрудники, объединены общей целью получать ЗП и не будут использовать окно 1С для взлома чего бы то ни было. Ну может шутку какую-нибудь над коллегой провернут. То после публикации - это уже инструмент людей (потенциально) которые умею много больше чем нанятый менеджер по продажам.
   Йохохо
 
10 - 12.01.22 - 13:52
если разрешать веб-клиент, то уже весь клиент одно "поле хтмл"
   Kassern
 
11 - 12.01.22 - 13:57
(7) у вас все в куче, начинали тему с поле HTML, сейчас пришли уже к web публикации базы. Вам тут верно сказали, веб кит это лишь движок для браузера. Поле html как раз работает с ним. Можно без всякого инета использовать данный объект для своих скриптов, или красивой верстки форм. А по поводу безопасности, про какие "дыры" речь?
   acht
 
12 - 12.01.22 - 14:00
(8) Отличный переход от "ДМЗ" к "территорий, которые не контролируются службой охраны, видео-наблюдением и брошенный ноутбук с незаблокированным экраном с активной сессией в базе данных"

Браво!
   Вуглускр1991
 
13 - 12.01.22 - 14:00
(11) Не давая ссылку на сторонний ресурс, приведу цитату "Для начала необходимо реализовать возможность вызова функции eval из контекста 1C, так как она в ПолеHTML изначально не работает. При этом eval доступна при вызове из javascript. Это открывает перед нами возможность перехитрить платформу и переопределить вызов функции."
Вопрос был об этом, кто и почему, исходя из каких соображений запретил использовать eval в HTML поле.
А потом я уже начал рассказывать зачем мне это знать.
   acht
 
14 - 12.01.22 - 14:01
(13) Херней, вы, батенька, маятесь. Толстой такой херней.
Замените везде "ПолеHTML" на "браузер" и давайте еще раз.
   Сергиус
 
15 - 12.01.22 - 14:12
(13)Для начала нужно поставить запрет на использование внешних обработок пользователями. Уже как минимум не смогут что то свое запускать.
   Вуглускр1991
 
16 - 12.01.22 - 14:54
(14) Скорее всего - да: в поле HTML приходит вся "мощь" браузера в котором открывается база. Но тогда eval должно работать и в Поле HTML и в консоли разработчика. Но люди жалуются, что eval не работает и значит речь идет о тонком клиенте.
А хамства в интернете полно и Вы тут не оригинальны.
К тому же когда соображения безопасности по поводу HTML поля выкладывались в дискуссии, Вы таблицу умножения изучали и поэтому не можете помнить что-то на эту тему.
   pechkin
 
17 - 12.01.22 - 14:58
   Kassern
 
18 - 12.01.22 - 15:01
(13) я так понимаю речь идет об https://habr.com/ru/post/481768/ ?
   Вуглускр1991
 
19 - 12.01.22 - 15:08
(18) Да, не приведет ли пост на хабре к посту на хакере
https://xakep.ru/2013/12/02/vzlom-1c/#
не буквально, конечно, другой вектор атаки, другая цель ..
   Kassern
 
20 - 12.01.22 - 15:31
(19) вы поймите, что тут дело не в поле HTML документа. Запретите юзверам запускать внешние обработки и они уже не смогут попасть на сервер и получить данные о каталогах
   Kassern
 
21 - 12.01.22 - 15:35
допустим у юзера есть форма с полем HTML, дальше то что? Как он напишет и запустит там скрипт?
   Вуглускр1991
 
22 - 12.01.22 - 15:36
(17) Спасибо, в принципе ясно почему. И 1С помимо чистого JS также распространяет расширения типа для работы с файлами и для буфера обмена. И сама она тоже решила запретить eval в своём урезанном webkit-е для тонкого клиента. Но почему? Что же можно было такого сделать с этим eval?
Больше всего атак на страницы HTML (которые мне удалось посмотреть в описаниях) - это фишинговые атаки. Но для клиента 1С фишинговая атака неактуальна. Не будет пользователь сам себе подменять содержимое страницы, чтобы узнать собственный пароль от клиент банка.
И потом - мы в первую очередь защищаемся от того, чтобы под личиной пользователя не хакнули содержимое БД,
а вот чтобы не хакнули конкретного пользователя при помощи нашей страницы - ну тоже защищаемся но во вторую уже очередь.
   Вуглускр1991
 
23 - 12.01.22 - 15:36
(21) Ctrl-Alt-Shift-F12
   Kassern
 
24 - 12.01.22 - 16:21
(23) Что вам эта консоль даст? Ну подмените вы сами себе страничку, а толку то?
   Kassern
 
25 - 12.01.22 - 16:26
Другое дело, если на форме есть метод, который можно вызвать через джава. какой нить
&НаКлиенте
Функция ВычислитьКод1СИзJavascript(Код) Экспорт
    
    Возврат Вычислить(Код);
        
КонецФункции

В этом случае, это дыра не поля HTML, с тем же успехом, можно дать юзверам форму с текстовым полем и кнопкой Выполнить (Текст)
   Вуглускр1991
 
26 - 12.01.22 - 17:38
(25) Да, такая функция позволит многое и юзер, подменив сам себе содержимое HTML поля, сможет писать произвольный код &НаКлиенте. У меня есть такая форма и такая функция, только я проверяю, чтобы на вход подавались команды из списка. Но вдруг можно обойти проверку и выполнить функцию сразу со строчки "Выполнить", ведь код на клиенте - это JS в браузере, там, ведь нет BSL интерпретатора.
   Kassern
 
27 - 12.01.22 - 17:49
(26) Да, только откуда таким функциям взяться в 1с в ваших/типовых формах с html полями? Поэтому сам по себе инструмент вебкит по уровню безопасности такой же как и обычный браузер для юзвера. Сама по себе подмена html документа в поле ничего не даст, без написания доп функций в коде 1с.
   Вуглускр1991
 
28 - 12.01.22 - 18:02
(27) А раньше (до WebKit) почему бесились с этого html-поля и говорили, что дырка это по безопасности жёсткая?
   Вуглускр1991
 
29 - 12.01.22 - 18:03
(28+) Рассматривая формы выложенные в интернет для работы с географическими картами Яндекс и т.п. и даже коммерческие подсистемы типа ГЕОС я вижу таким образом сделанные функции.
   Kassern
 
30 - 13.01.22 - 10:04
(28) я же вам про вебкит и пишу, раньше емним можно было форму клиенскую передать в параметр для js и выполнять все ее функции. Сейчас же все более менее изолировано. Я могу ошибаться, так как, редко с этим объектом приходится связываться, но вроде как, сейчас только через события данного объекта можно как-то из js взаимодействовать с 1с.
 
 
   Kassern
 
31 - 13.01.22 - 10:07
(29) вы можете хоть 1 пример для вебкита привести, где можно, хоть как-то 1с ковырнуть? Я лично не нашел, все что может теперь юзвер, это подменить DOM и не более. Взаимодейстовать при этом с 1с он не сможет.
   Вуглускр1991
 
32 - 13.01.22 - 10:31
(31) Он может вызвать консоль разработчика и отправлять HTTP запросы на сервер от имени клиента.
Помимо того, что на форме есть некоторый функционал, скрытый "Видимостью" или ФО или по правам, в теле HTTP запроса можно указать все, что угодно
   Kassern
 
33 - 13.01.22 - 10:38
(32) ну так он и через браузер все это может, в чем разница?
   Kassern
 
34 - 13.01.22 - 10:38
Для этого есть файрволы и прочие политики безопасности, чтобы юзвер не стучался, куда не надо
   Kassern
 
35 - 13.01.22 - 10:41
вы сами пробовали через эту консоль вебкита в 1с проследить сетку и обращения, юзать консоль?)
   Kassern
 
36 - 13.01.22 - 10:43
(32) "Он может вызвать консоль разработчика и отправлять HTTP запросы на сервер от имени клиента" вы сами пробовали так делать?
   Kassern
 
37 - 13.01.22 - 10:44
консоль сможет открыть, а вот от имени клиента запросы слать оооочень маловероятно, по крайней мере на современных платформах
   Kassern
 
38 - 13.01.22 - 10:45
я лично не нашел способа так сделать, без доступа к внешним обработкам и конфигуратору
   Вуглускр1991
 
39 - 13.01.22 - 11:05
   Kassern
 
40 - 13.01.22 - 11:21
(39) еще раз повторю, вы из 1с в консоли в нетворк заходили, сами смотрели? Пробовали от туда стучаться запросы слать? У меня нетворк всегда пустой из 1с и нет возможности там запросы подменять
   Kassern
 
41 - 13.01.22 - 11:21
браузер у юзверов запрещен?
   Kassern
 
42 - 13.01.22 - 11:23
вот так выглядит нетворк из 1с https://disk.yandex.ru/i/hP55bYcesPEUYA


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.