Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CrossSiteContentHijacking — 使用 Flash、PDF 和 Silverlight 的内容劫持概念验证 | Kitploit
工具/GitHubGitHub/nccgroup/crosssitecontenthijacking
漏洞分析Web应用程序漏洞利用数据泄露Web安全渗透测试错误配置
GitHubnccgroup/crosssitecontenthijacking

CrossSiteContentHijacking

使用 Flash、PDF 和 Silverlight 的内容劫持概念验证

查看仓库
385967年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

跨站内容(数据)劫持(XSCH)PoC 项目

许可证

基于 AGPL 许可证发布(更多信息请参阅 LICENSE)。

描述

该项目可用于提供以下方面的概念验证:

  • 通过读取不安全策略文件(crossdomain.xml 或 clientaccesspolicy.xml)的内容来利用此类网站。
  • 利用不安全的文件上传功能——这些功能未正确检查文件内容,或允许上传 SWF 或 PDF 文件而在下载过程中不带有 Content-Disposition 头。在此场景下,应将创建的 SWF、XAP 或 PDF 文件以任意扩展名(如 .JPG)上传到目标网站。然后,应将“Object File”值设置为所上传文件的 URL,以读取目标网站的内容。
  • 利用 CVE-2011-2461(更多详情请参阅参考资料)
  • 利用具有不安全 HTML5 跨域资源共享(CORS)头的网站

注意:.XAP 文件可以重命名为任何其他扩展名,但将无法再跨域加载。Silverlight 似乎会根据所提供的 URL 来识别文件扩展名,如果扩展名不是 .XAP 则会忽略。如果网站允许用户在实际文件名后使用“;”或“/”来添加“.XAP”扩展名,则仍可利用此漏洞。

用法

  • 利用不安全的策略文件:
    1. 使用 Web 服务器托管 ContentHijacking 目录。
    2. 浏览到 index.html 页面(将重定向到 ContentHijackingLoader.html)。
    3. 将 HTML 页面中的“Object File”字段更改为“objects”目录中合适的对象(不能使用“xfa-manual-ContentHijacking.pdf”)。
  • 利用不安全的文件上传/下载:
    1. 将“objects”目录中的对象文件上传到受害服务器。这些文件在上传到其他域时也可以重命名为其他扩展名(为此目的,请先使用 Flash,再使用 PDF,因为 Silverlight XAP 文件通常无法以其他扩展名在其他域中正常工作)。
    2. 应将“Object File”字段设置为所上传文件的位置。
  • 利用 CVE-2011-2461:
    1. 应将“Object File”字段设置为存在漏洞的文件。
    2. 从“Type”字段的下拉列表中选择“Flash CVE-2011-2461 Only”选项。
  • 利用不安全的 CORS 策略:
    1. 可以将“Object File”字段设置为本地的“ContentHijacking.html”文件。如果您能在目标域中上传 HTML 文件,利用 XSS 问题将比使用 CORS 容易得多。

注意:.XAP 文件可以重命名为任何其他扩展名,但将无法再跨域加载。Silverlight 似乎会根据所提供的 URL 来识别文件扩展名,如果扩展名不是 .XAP 则会忽略。如果网站允许用户在实际文件名后使用“;”或“/”来添加“.XAP”扩展名,则仍可利用此漏洞。

注意:当 Silverlight 跨域请求 .XAP 文件时,内容类型必须为:application/x-silverlight-app。

注意:PDF 文件只能在 Adobe Reader 查看器中使用(无法在 Chrome 和 Firefox 内置的 PDF 查看器中工作)。

注意:读取静态内容或可公开访问的数据不能视为问题。务必将误报结果从您的安全公告中移除。请注意,仅单独在“Access-Control-Allow-Origin”头中使用星号(“*”)字符并不是一个问题。

使用示例:

  • 在带有 Adobe Reader 的 IE 中: https://15.rs/ContentHijacking/ContentHijackingLoader.html?objfile=https://15.rs/ContentHijacking/objects/ContentHijacking.pdf&objtype=pdf&target=https://0me.me/&postdata=param1=foobar&logmode=all&regex=owasp.*&isauto=1
  • 在任何支持 SWF 的浏览器中: http://15.rs/ContentHijacking/ContentHijackingLoader.html?objfile=http://0me.me/ContentHijacking/objects/ContentHijacking.swf&objtype=flash&target=http://0me.me/&postdata=&logmode=result&regex=&isauto=1

解决该安全问题的通用建议

应限制允许上传的文件类型,仅保留业务功能所必需的类型。

应用程序应对上传到服务器的任何文件执行过滤和内容检查。文件在提供给其他用户之前应经过彻底扫描和验证。如有疑问,应丢弃该文件。

在静态文件的响应中添加“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

下载工具