2013-10-26 2 views
0

Я не знаю, действительно ли это действительно опасно, но, поскольку Google делает это с помощью своего HTML и Javascript, которые обслуживаются из сценария Google Apps (как объясняется here, они используют Caja Compiler для «дезинфекции и песочницы HTML»).Почему это опасно для создания созданного пользователем HTML или Javascript?

Мне было интересно, было ли что-нибудь плохое, что могло случиться, если я разрешу пользователям редактировать HTML с шаблонами Jinja2, давая им доступ к некоторым переменным на стороне сервера, которые будут отображаться через некоторое время. Что плохого может произойти?

Обс: Мне все равно, будет ли пользовательский HTML-код уродливым или уничтожит остальную часть страницы.

+0

Если сайт не предоставляет пользователям никакой полезной информации, он не собирает никакой информации от пользователей, не имеет надежного кода на стороне сервера (то есть без SQL-инъекции) и имеет явно ужасное доменное имя, на самом деле не так много проблемы ...:) –

ответ

1

Разрешение пользователям редактировать HTML или JavaScript может привести к уязвимости вашего сайта для XSS - https://www.owasp.org/index.php/Cross-site_Scripting_(XSS).

Если пользователи просматривают контент, созданный другими пользователями, их скрипты могут быть скомпрометированы значениями cookie или сеансом пользователя, посылая значения на сервер злоумышленника.

+0

Спасибо. Вы знаете, как предотвратить это? – fiatjaf

+0

Рекомендуется использовать флаг «HttpOnly» для файлов cookie (https://www.owasp.org/index.php/HttpOnly), но если вы разрешаете пользователям редактировать HTML/скрипт в вашей системе, вам необходимо оценить, если на странице есть какие-либо риски или информация о сенситивности за пределами значений cookie. Вы можете уменьшить риски, разрешив отдельным субдоменам редактировать отредактированный HTML/скрипт (например, foo.example.com), чтобы этот скрипт не смог получить доступ к какой-либо информации в вашем основном домене www.example.com из-за той же политики происхождения , http://en.wikipedia.org/wiki/Same-origin_policy – SilverlightFox

0

Плохие вещи могут случиться с HTML; худшие вещи могут произойти с большинством шаблонов двигателей, включая Jinja2. Как произвольное выполнение кода. Вот почему есть sandbox.

+0

Как? Я не вижу, где может быть произвольное выполнение кода с HTML. Это просто строка. – fiatjaf

+0

Так безопасно использовать Jinja2 таким образом? Их песочница делает мой сервер неуязвимым при обработке пользовательских шаблонов? – fiatjaf

+0

@GiovanniP: Не может быть выполнение кода на стороне сервера со статическим HTML, но Jinja2 - это не просто HTML ... и я никогда не использовал эту песочницу, но если они так говорят. – Ryan

Смежные вопросы