Безопасность хостинга SWF

Я начал разрабатывать приложение для рисования в as3. Я думаю, что я мог бы интегрировать cms и разрешить загрузку swf-файлов во время выполнения в виде графики. Каковы потенциальные проблемы безопасности с участием сторонних, возможно, вредоносных swf-файлов здесь?

Я бы просто добавил swf в качестве пользовательского класса спрайта в спрайт-контейнер с маской. Открывает ли это дыру для запуска других скриптов ( js на другом сервере? ) И / или дает ли доступ к компьютеру клиента небезопасными способами?

Я был бы признателен за любые рекомендации по чтению и / или совету / опыту в хостинге swf, подобном этому. Я вижу, что это делается сейчас на многих сайтах, таких как Wonderfl и Activeden.


person imp    schedule 19.09.2010    source источник


Ответы (2)


Это эквивалент ActionScript для XSS. Ваш домен больше не будет защищен политикой того же происхождения. Это может быть использовано злоумышленником для захвата идентификатора сеанса (Cookie), искажения вашего веб-сайта или доставки кода эксплойта в любые браузеры, посещающие ваш сайт.

person rook    schedule 19.09.2010
comment
Мне придется перечитать это, чтобы понять эту концепцию. Я предполагаю, что если пользователь загружает swf в качестве графики внутри приложения, а затем сохраняется на сервере. Когда другой пользователь снова открывает приложение, загружающее тот же swf, по умолчанию междоменный доступ к этому swf запрещен. - person imp; 21.09.2010
comment
Я думаю, если бы я пошел по этому пути, это открыло бы еще одну дыру для кого-то, но это не так, что это не потребовало бы особых значительных усилий. Я предполагаю, что тип эксплойта, который остается, - это эксплойты, с которыми имеет дело Adobe. Хотя, наверное, я еще что-то упускаю из виду. Считаете ли вы, что антивирусный сканер на стороне сервера для сканирования swf может быть уместным до того, как другой пользователь загрузит swf-графику в свой клиентский экземпляр? - person imp; 21.09.2010
comment
@ user332096 междоменный доступ не имеет значения. Проблема здесь в том, что вы разрешаете загружать и затем запускать SWF-файл. Этот SWF-файл будет запускаться в контексте вашего домена и может содержать что угодно. Сканер вирусов может убедиться, что этот swf-файл не использует флэш-память, но это все равно может быть очень простой эксплойт, который захватывает document.cookie и передает его на другой домен. Пока автор является единственным, кто может получить доступ к своему загруженному swf-файлу, его нельзя использовать для получения файлов cookie другого пользователя, и это значительно ограничивает воздействие. - person rook; 21.09.2010
comment
очень хорошо хорошо Ладья Я понимаю, swf будет доверять домен, из которого он исходит. Это большая проблема. - person imp; 27.09.2010
comment
@ user332096 спасибо, я рад помочь. Я думаю, теперь вы понимаете более широкий набор проблем безопасности веб-приложений. - person rook; 27.09.2010

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

ИЗМЕНИТЬ*

Если вам нужно загрузить SWF, ознакомьтесь с Указание контекста загрузки< /а>. И, возможно, также прочитайте .

person Adam Harte    schedule 19.09.2010
comment
разве ему не пришлось бы использовать loadBytes для получения сериализованных данных, разве это не менее безопасно? - person PatrickS; 19.09.2010
comment
Ах да, было бы неплохо сериализовать рисунки, если бы они были только рисунками. Я надеялся использовать swf в качестве векторной графики для сложных форм на холсте приложений, вроде наклеек. - person imp; 21.09.2010