【问题标题】:Is Flash Cross Domain useless?Flash跨域没用吗?
【发布时间】:2011-03-10 06:34:41
【问题描述】:

我正在尝试以 3 种方式播放位于远程服务器上的 FLV 文件(进程中不存在“crossdomain.xml”):

  1. 从使用位于某个服务器上的 SWF 播放器的浏览器
  2. 从 VLC,指向远程文件。
  3. 下载远程文件和 swf 播放器 - 本地播放

你猜怎么着?

  1. 没玩过flv
  2. 像魅力一样演奏
  3. 像魅力一样演奏

结论:Flash的跨域安全无用。

请告诉我哪里错了,或者我只是在帮助别人理解这种安全性是无用的。

【问题讨论】:

    标签: security flash cross-domain flv


    【解决方案1】:

    我不打算自己写答案,因为我觉得@jpea 已经写了最重要的东西。但似乎 crossdomain.xml 文件的想法和使用仍然不清楚。所以这里是:

    1. Cross-site scripting不是指的是从其他服务器访问媒体内容,而是指用于大约 80% 的所有互联网安全违规行为的攻击方法。它可以通过许多不同的方式发生,但总是涉及将外部代码注入网页(或插件内容)以使 客户端 以非预期的方式运行。它可能会导致稍后对服务器的攻击,但最初的问题总是与客户端的漏洞有关。

    2. Crossdomain-policy 文件是所谓的“same-origin-policy”的 Flash 实现,它是防止跨站点脚本的重要组成部分。本质上,它旨在确保由 SWF 加载的任何内容都必须与原始内容在同一个域中(而不是“在同一台服务器上”)。

      这在实践中意味着什么?这意味着,例如,不允许攻击者将您的原始 SWF 加载到托管在不同服务器上的(不可见的)封闭 SWF 中,并监控所有传入和传出流量,或捕获键盘事件,以窃取密码等:跨域策略将导致停止执行所有 ActionScript 的安全错误。

      不是,但是会阻止 FLV 文件以其他方式播放 - 这绝对不是它的意图。

    3. 诚然,有一些(或多或少容易)绕过跨域策略文件的方法,例如使用代理来引导 SWF URL 请求,因此使用它们不会带来“真正的”安全性。但作为多级安全策略的一部分,它们确实有助于提高攻击者的门槛。

    【讨论】:

    • 很好的解释。谢谢。现在的问题是,如果 SWF 是一个工具,就像一个播放器,我希望允许免费使用它。没有密码保护。现在每个用户都必须编写跨域 xmld 并将它们放在每个有播放器想要播放的源视频的位置。
    • 为什么不引入内部 Flash 功能,用于 Adob​​e 或“任何服务器”以检查执行来源?比请求每个内容服务器托管 XML 容易得多!
    • 我理解您的不适,但这意味着其他各种“不适”,让 Adob​​e 负责保护地球上任何地方的任何 Flash 内容完成的任何和所有外部加载,只是其中之一.
    • Adobe 让您控制您的内容将或不能加载 - 我认为这是一个合理的解决方案。我也认为他们可以做得更好,解释如何正确地做。 crossdomain.xml 文件的文档很痛苦,而且事情通常不会按预期工作。我完全可以理解你为什么生气。
    【解决方案2】:

    crossdomain.xml 旨在作为 Flash 播放器插件的安全措施。单独的 FLV 不是安全风险,播放器是。在实例 #2 中,您没有使用 Flash 播放器。实例 #3,它使用 Flash 在其 IDE 中使用的相同安全性(以允许调试)。实例 #1 完全按预期工作。

    crossdomain.xml 并不意味着作为一种 DRM 安全性,或者不允许下载文件。它旨在禁止非预期域使用来自另一台服务器的 FLV/F4V(更广为人知的跨站点脚本)。

    【讨论】:

    • +1,但要补充一点:它旨在防止跨站点脚本,而不是作为 DRM 机制。
    • 但是,如果可以使用除 Flash 客户端以外的不同客户端从任何服务器访问和下载 FLV,那么这一点很重要。没有什么可以保护服务器免受它们的影响
    • 任何存在于客户端的保护服务器的保护措施让我想知道......
    猜你喜欢
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多