基于 AGPL 许可证发布(更多信息请参阅 LICENSE)。
该项目可用于提供以下方面的概念验证:
注意:.XAP 文件可以重命名为任何其他扩展名,但将无法再跨域加载。Silverlight 似乎会根据所提供的 URL 来识别文件扩展名,如果扩展名不是 .XAP 则会忽略。如果网站允许用户在实际文件名后使用“;”或“/”来添加“.XAP”扩展名,则仍可利用此漏洞。
注意:.XAP 文件可以重命名为任何其他扩展名,但将无法再跨域加载。Silverlight 似乎会根据所提供的 URL 来识别文件扩展名,如果扩展名不是 .XAP 则会忽略。如果网站允许用户在实际文件名后使用“;”或“/”来添加“.XAP”扩展名,则仍可利用此漏洞。
注意:当 Silverlight 跨域请求 .XAP 文件时,内容类型必须为:application/x-silverlight-app。
注意:PDF 文件只能在 Adobe Reader 查看器中使用(无法在 Chrome 和 Firefox 内置的 PDF 查看器中工作)。
注意:读取静态内容或可公开访问的数据不能视为问题。务必将误报结果从您的安全公告中移除。请注意,仅单独在“Access-Control-Allow-Origin”头中使用星号(“*”)字符并不是一个问题。
使用示例:
应限制允许上传的文件类型,仅保留业务功能所必需的类型。
应用程序应对上传到服务器的任何文件执行过滤和内容检查。文件在提供给其他用户之前应经过彻底扫描和验证。如有疑问,应丢弃该文件。
在静态文件的响应中添加“Content-Disposition: Attachment”和“X-Content-Type-Options: nosniff”头,将使网站免受基于 Flash 或 PDF 的跨站内容劫持攻击。建议在所有涉及文件下载的模块中,对所有用户需要下载的文件都执行此做法。尽管此方法不能完全保护网站免受使用 Silverlight 或类似对象的攻击,但可以降低使用 Adobe Flash 和 PDF 对象的风险,尤其是在允许上传 PDF 文件的情况下。
如果 Flash/PDF(crossdomain.xml)或 Silverlight(clientaccesspolicy.xml)跨域策略文件未被使用,且没有 Flash 或 Silverlight 应用程序与网站通信的业务需求,则应将其移除。
跨域访问应限制在一组最小的受信任且需要访问的域范围内。当使用通配符(尤其是在“uri”属性的值中)时,访问策略被视为薄弱或不安全。
任何用于 Silverlight 应用程序的“crossdomain.xml”文件都应被视为薄弱的,因为它只能在 domain 属性中接受通配符(“*”)字符。
应对 corssdomain.xml 和 clientaccesspolicy.xml 文件禁用浏览器缓存。这使网站能够轻松更新文件或在必要时限制对 Web 服务的访问。一旦客户端访问策略文件被检查,它将在浏览器会话期间保持有效,因此不缓存对最终用户的影响很小。根据目标网站的内容以及策略文件的安全性和复杂性,这可以作为低风险或信息性风险问题提出。
应审查 CORS 头,使其仅对静态或可公开访问的数据启用。否则,“Access-Control-Allow-Origin”头应仅包含经授权的地址。其他 CORS 头(如“Access-Control-Allow-Credentials”)应仅在需要时使用。CORS 头中的项目(如“Access-Control-Allow-Methods”或“Access-Control-Allow-Headers”)应进行审查,如非必要应予以移除。
注意:使用“Referer”头并不能解决问题,因为可以设置此头,例如通过使用 Adobe Reader 和 PDF 发送 POST 请求(请参阅“objects”目录中的“xfa-manual-ContentHijacking.pdf”文件)。更新:Adobe 已解决设置“referer”头的问题,除非您也能找到绕过方法 ;)
请参阅项目页面以获取最新更新/帮助:https://github.com/nccgroup/CrossSiteContentHijacking
Soroush Dalili(来自 NCC Group)
即使上传 JPG 文件也可能导致跨域数据劫持(客户端攻击)! https://soroush.secproject.com/blog/2014/05/even-uploading-a-jpg-file-can-lead-to-cross-domain-data-hijacking-client-side-attack/
多个 PDF 漏洞——文本与图片的加强版 http://insert-script.blogspot.co.at/2014/12/multiple-pdf-vulnerabilites-text-and.html
Silverlight 的 HTTP 通信与安全性 http://msdn.microsoft.com/en-gb/library/cc838250(v=vs.95).aspx
Silverlight 跨域与客户端访问策略文件说明 http://www.devtoolshed.com/explanation-cross-domain-and-client-access-policy-files-silverlight
跨域策略文件规范 http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html
为 HTTP 流媒体设置 crossdomain.xml 文件 http://www.adobe.com/devnet/adobe-media-server/articles/cross-domain-xml-for-streaming.html
在 google.com 上利用 CVE-2011-2461 http://blog.mindedsecurity.com/2015/03/exploiting-cve-2011-2461-on-googlecom.html