【问题标题】:What security does Silverlight's clientaccesspolicy add?Silverlight 的客户端访问策略增加了哪些安全性?
【发布时间】:2011-08-25 10:05:08
【问题描述】:

昨天我收到一位同事关于 Silverlight 的跨域访问策略机制的问题。我以前没用过,所以我读了一下。我认为我确实了解如何配置它,但我不了解安全隐患。

例如,如果我有以下设置:

在这种情况下,其他站点的客户端访问策略可以使某个站点的 silverlight-app 使用 othersite.com/service.svc 服务。根据MSDN,这是对服务安全的保证:

通过选择加入,服务声明 它暴露的操作可以安全地 由 Silverlight 控件调用, 没有潜在的破坏性 对数据的后果 服务商店。

我不明白这如何提供任何真正的安全优势。该服务只是另一个soap服务,可以从任何soap客户端调用,使用任何精心设计的调用参数。如果我针对http://othersite/service.svc 启动 wcftestclient,我可以绕过 clientaccesspolicy.xml 并做任何我想做的事情。

那么,clientaccesspolicy.xml 真正添加了什么安全性?

【问题讨论】:

    标签: silverlight web-services security cross-domain


    【解决方案1】:

    这是为了防止 Cross Site Request Forgery 恶意 Silverlight 应用程序可以代表用户执行操作。拥有properly configured clientaccesspolicy.xml 可确保请求来自受信任的 Silverlight 应用程序。

    就直接调用服务而言,通常修改服务器上资源的方法应通过身份验证进行保护,以确保只有授权用户才能调用它们。

    【讨论】:

    • 如果我理解正确的话,它是用户计算机上 silverlight 沙箱的一部分。 silverlight 沙箱可防止恶意的 silverlight 应用程序使用存储在用户浏览器中的身份验证 cookie 在其他站点上执行操作。如果站点承诺(通过 clientaccess.xml 文件)允许任何 silverlight 应用程序访问站点是安全的,并且可以访问用户的 cookie,则打开沙箱。对吗?
    • @AndersAbel:我认为这与 cookie 无关。只要找不到 clientaccesspolicy.xml 或与请求不匹配,Silverlight 就不会打开通信。
    • @the_drow:如果不是关于 cookie 等,那么在允许连接之前让 Silverlight 沙箱检查与服务器的通信是否正常有什么安全优势?
    • @AndersAbel:所以它不会访问不应访问的 API。
    • @AndersAbel 你是对的。 Cookie 包含在请求中。另见erlend.oftedal.no/blog/?blogid=107
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 2011-06-22
    相关资源
    最近更新 更多