2010-10-07 4 views
1

Причина, по которой я спрашиваю, это то, что я говорю нашему поставщику, что им нужно использовать библиотеку MS AntiXSS с компонентами пользовательского интерфейса ASP.NET, которые они создают, но они также работают с Flex для создания пользовательских интерфейсов на основе Flash, и я был интересно, есть ли эквивалент для Flash (при условии, что это vunerable).Насколько vunerable для XSS-атак является Flash?

+0

Если вы не читаете что-то от пользователя через Flash и не храните его в БД, чтобы отображать его на какой-либо странице html, вы в безопасности. – Amarghosh

+0

Спасибо Amarghosh - данные будут сохранены ina db, поэтому всегда есть шанс, что в какой-то момент он будет выводиться через HTML. Я попрошу их разобрать вход (для начала), поскольку он помещен в БД; скорее всего, сделают это с помощью библиотеки AntiXSS в службе Flourine/.Net, которая поддерживает интерфейс Flash. –

+0

@ Flextras и @fenomas - оба ваши ответы были полезны для меня, поэтому спасибо (вам обоим). –

ответ

1

Короткий ответ: у Flash-плеера есть много возможностей для предотвращения атак XSS, но они встроены в сам плеер, поэтому нет никакой конкретной библиотеки, которую вы должны использовать. Если вы не вызываете какие-либо связанные с безопасностью API и не ставите файлы конфигурации на свой сервер, то по безопасности вы уже используете наиболее ограничительные настройки. (Предполагая, что вы также обратите внимание на то, как вы используете пользовательский ввод.)

В целом, API, которые потенциально могут привести к уязвимостям XSS, как правило, отключены в ситуациях XSS, если вы не активируете их активно. Например, если HTML-страница на вашем сайте загружается в флеш-файл с другого сайта, и этот флэш-контент пытается, скажем, сделать вызовы javascript на вашей странице, эти вызовы будут заблокированы по умолчанию, если вы не разрешите их. Точно так же, если флэш-контент на вашем сайте загружается в компоненты с другого сайта, эти компоненты не смогут проникнуть в их родителя, если вы не позвожете им использовать API. Существуют также различные ограничения на то, что происходит, когда другой сайт пытается загрузить в Flash-контент с вашего сайта без вашего разрешения.

Для всех деталей, я настоятельно рекомендую этот прекрасный обзор:

С учетом всего сказанного, так как вы спросили о дезинфицирующим данных, вводимых пользователем, то стоит отметить, что, поскольку в AS3 есть нет эквивалента команды eval, никогда не возникает вопроса о том, что пользовательский ввод выполняется как скрипт. Однако любой пользовательский ввод, относящийся к загружаемому контенту, может быть вектором атаки XSS. (Например, если вы добавляете строку ввода пользователя к URL-адресу, который вы загружаете, пользователь может заставить ваш сайт загружать свой вредоносный SWF.) Но такой случай ничем не отличается от ситуации, когда вы загружаете в доброкачественную третью -party SWF, а кто-то позже заменяет его вредоносным контентом. Следовательно, в контексте Flash защита от атак XSS заключается не столько в том, чтобы санировать пользовательский ввод, сколько в том, чтобы убедиться, что внешнему загружаемому содержимому не разрешено запускать, как если бы они были локально доверенными.

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

2

Если я правильно понимаю ...

ASP.NEt используется для создания веб-страниц, и все компоненты пользовательского интерфейса, которые они делают, будут работать в браузере как HTML/JavaScript. Это верно?

Если это так, я могу понять, почему предотвращение межсайтового скриптинга было бы важным в этом случае.

С Flex (который работает в Flash Player) все скомпилировано в двоичный файл, называемый SWF. В большинстве случаев SWF запускается внутри Flash Player, который работает в браузере как плагин. Невозможно взломать отдельный компонент Flex с помощью XSS.

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

Ничего из этого не должно быть причиной не для проверки ввода пользователя.

+0

@Flextras - Ваши предположения относительно ASP.NET верны. Таким образом, по сути, нет никаких смягчений, которые я должен указать в отношении анализа пользовательского ввода с точки зрения * безопасности * (?) –

+0

@Adrian K. Что касается XSS, я не могу представить, как это можно сделать с помощью ввода в Flash Player. Поскольку ActionSCript скомпилирован; сложно (если не невозможно) попытаться заставить Flash Player выполнить AS3 во время выполнения (тот же браузер может запускать JS «на лету». Я бы не стал беспокоиться об этом. Однако очистка данных для атак SQL Injection как часть вашего удаленного вызова службы, кажется хорошей идеей. – JeffryHouser

+0

Я думаю, что некоторые части этого ответа неверны. SWF-файлы не являются предварительно скомпилированными двоичными файлами, в точности, код скомпилирован для промежуточных байт-кодов, таких как Java, которые JITted во время выполнения. Более того, SWF могут читать и выполнять контент с других (возможно, вредоносных) сайтов. Таким образом, любые настройки безопасности во время вспышки ослабляются (что часто бывает полезно или необходимо), безусловно, есть вероятность атак XSS. См. ссылку в моей ответ для более подробной информации. – fenomas

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