Flex и crossdomain.xml

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

Спасибо Дэмиен


person Damien    schedule 19.09.2008    source источник


Ответы (5)


При добавлении crossdomain.xml основная проблема безопасности заключается в том, что теперь флеш-приложения могут подключаться к вашему серверу. Поэтому, если кто-то входит на ваш сайт, а затем переходит на другой веб-сайт с вредоносным флэш-приложением, это флэш-приложение может подключиться обратно к вашему сайту. Поскольку файлы cookie находятся в браузере, они передаются во флеш-приложение. Это позволяет флеш-приложению перехватить сеанс пользователя, чтобы сделать то, что делает ваш веб-сайт, без ведома пользователя.

Если ваше гибкое приложение обслуживается с того же сервера, вам не нужен crossdomain.xml.

Вы можете поместить его в подкаталог своего сайта и использовать System.security.loadSecurityPolicy ()

http://livedocs.adobe.com/flex/2/langref/flash/system/Security.html

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

person Marc Hughes    schedule 19.09.2008
comment
Привет, Марк, спасибо за ваши комментарии. Подобные вещи вызывают беспокойство. Вы знаете, работает ли Adobe над этим или придумывает ли еще какие-либо функции безопасности для устранения этой потенциальной угрозы? Спасибо Дэмиен - person Damien; 19.09.2008
comment
Это потенциальная угроза по замыслу, иногда вам требуется иметь возможность междоменного взаимодействия, поэтому вам нужно явно разрешить соединения с использованием этого файла. - person grapefrukt; 20.09.2008
comment
Я не совсем понимаю этот риск. Если вы поместите разрешить все crossdomain.xml в корень вашего сервера, разве это не даст Flash-приложениям такой же доступ, какой уже есть у браузеров? Javascript на веб-странице xxx.com не может видеть файлы cookie на yyy.com, потому что браузер и безопасность Javascript не позволяют этого. Может ли флеш-файл на xxx.com действительно получить доступ к файлам cookie на yyy.com (если yyy.com crossdomain.xml настроен так, чтобы разрешить все)? - person SkippyFlipjack; 07.10.2009
comment
Damo - Crossdomain.xml - это исправление потенциальной угрозы. Не устанавливайте его, если вы не хотите, чтобы приложения из других доменов попадали на ваш сервер. - person Marc Hughes; 12.11.2009
comment
Скиппи - Допустим, у BANK.COM есть страница, на которой можно переводить деньги между счетами. Допустим, у него есть открытый файл crossdomain.xml. Теперь предположим, что пользователь BOB входит в BANK.COM как обычно. Затем BOB покидает BANK.COM и переходит на EVIL.COM. На EVIL.COM есть вредоносное флеш-приложение. Это приложение может отправлять запросы на BANK.COM. Этот запрос будет поступать из браузера, как и любой другой запрос. Это означает, что приложение может незаметно перейти на эту страницу передачи. BANK.COM увидит, что пользователь уже вошел в систему, потому что запрос пришел из браузера, который правильно прошел аутентификацию, и с радостью разрешит ему продолжить. - person Marc Hughes; 12.11.2009
comment
Комментарий Марка по существу. У вас не должно быть неограниченного crossdomain.xml, если все ваши данные не являются общедоступными. Недавнее сообщение в блоге по этой теме: erlend.oftedal.no/blog/?blogid=101 - person Erlend; 27.02.2010

Для междоменного файла нет обходного пути, он необходим для поддержки междоменного доступа к данным или кросс-доменного скриптинга. В случае любого междоменного запроса Flash будет искать файл crossdomain.xml в корне домена. Например, если вы запрашиваете XML-файл у:

http://mysubdomain.mydomain.com/fu/bar/

Flash проверит, существует ли файл crossdomain.xml по адресу:

http://mysubdomin.mydomain.com/crossdomain.xml

Вы можете разместить файл crossdomain.xml в другом месте. Однако, когда вам когда-либо понадобится загрузить файл crossdomain.xml из другого места, вы должны сделать это через Security.loadPolicyFile. Имейте в виду, что расположение этого междоменного домена может повлиять на ваш безопасный доступ. Flash предоставит доступ только к папке, содержащей перекрестный домен и его дочерние папки.

Вы также можете ознакомиться с изменениями безопасности в Flash Player 10 < / а>.

person Ronnie Liew    schedule 20.10.2008
comment
Это не совсем так; обходной путь для междоменного файла - проксировать весь сетевой трафик через тот же сервер, на котором размещено ваше Flash-приложение. - person Brian; 17.06.2014

Вы можете настроить виртуальный хост для своего приложения. Таким образом, файл crossdomain.xml может находиться в корне вашего приложения, но не обязательно в корне сервера.

person Alexandre Victoor    schedule 19.09.2008

да. Будьте очень осторожны с файлами междоменной политики:
http://www.jamesward.com/2009/11/08/how-bad-crossdomain-policies-expose-protected-data-to-malicious-applications/

Мои два основных правила:

  • Не размещайте файл междоменной политики на сервере, который использует файлы cookie.
  • Не размещайте файл междоменной политики на внутреннем сервере
person James Ward    schedule 23.06.2010

crossdomain.xml - это просто файл, имеющий значение для среды выполнения Flash; вы можете ограничить, какие HTTP-запросы будут видеть его. Вы можете использовать управление конфигурацией веб-сервера (например, Apache), чтобы разрешить доступ для чтения к нему (и только к нему) из «корневого» каталога (см. Предыдущие ответы).

Вы можете фильтровать запросы по другим заголовкам и т. Д.

Ваше здоровье

person Richard Haven    schedule 19.10.2008