Какие ограничения безопасности должны быть реализованы, чтобы позволить пользователю загружать файл Javascript, который управляет анимацией холста? - PullRequest
0 голосов
/ 24 апреля 2011

Я хочу создать сайт, на котором пользователи могут загружать свои собственные анимации холста, чтобы другие могли их увидеть.Какие последствия для безопасности связаны с этим?Есть ли простой способ убедиться, что я получаю только функции canvas, а не фрагменты вредоносного кода?Мысли?Спасибо.

РЕДАКТИРОВАТЬ: Что делать, если я помещаю каждую анимацию в отдельный поддомен?Есть ли способ автоматизировать создание поддоменов при загрузке пользователем?

Ответы [ 2 ]

0 голосов
/ 24 апреля 2011

С точки зрения конкретных рисков очевидным является легкая способность создавать постоянную угрозу XSS.Это может легко сделать что угодно: от чтения файлов cookie пользователей (включая файлы, используемые для идентификации их аутентифицированного сеанса) до переписывания страницы или изменения CSS.

Это также открывает очень простую дверь для CSRF, которая потенциально может позволить скриптуотправлять произвольные команды от имени жертвы.Кроме того, существует риск таких вещей, как перехваты кликов и табуляции - возможные эксплойты очень экстенсивно!

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

0 голосов
/ 24 апреля 2011

Javascript - это ОЧЕНЬ гибкий язык, и почти невозможно определить, что именно выполняет код, если только вы не проведете на нем глубокий анализ. Если вы разрешите загрузку Javascript, вы можете получить что угодно, и большая часть защиты, которую вы попытаетесь использовать, не будет работать.

В вашем случае вы могли бы разрешить пользователям загружать последовательность анимации на каком-то пользовательском языке, который вы преобразуете в Javascript после его загрузки. Таким образом, вы сможете лучше контролировать то, что выполняется.

...