Oculus CDN服务器的XSS漏洞

2019 年 1 月 3 日 FreeBuf

前言

我来分享一个Facebook旗下公司Oculus网站存在的类似XSS漏洞,该漏洞最终获得了Facebook官方$1500美金的奖励。

Facebook在2014年3月宣布以20亿美元收购虚拟现实(VR)头戴设备制造商Oculus,Facebook计划将Oculus的VR技术优势扩大至新的垂直领域,如通信、媒体和娱乐、教育及其他领域等。

Oculus发布了定制化开源的开发者项目( Custom Developer Items),这项功能已向社区开发者推送。无论你是开发虚拟现实游戏、社交体验、娱乐还是教育类应用,都可以使用自己最喜欢的游戏引擎或我们的原生 SDK 轻松地在整个 Oculus 平台上进行开发。它覆盖了Oculus Rift + Touch 、Oculus Go 和 Samsung Gear VR + 控制器的VR产品,与主流开源的VR开发工具Unity结合,用户可以定制化地开发属于自己的应用。

漏洞发现及PoC

在Oculus网站的账户管理页面https://dashboard.oculus.com/,注册并登录账户后,有一个服务端功能允许开发者上传应用相关的asset资源文件,且所有asset资源文件都储存在了”oculuscdn.com”网站中。例如,我们用该服务端功能上传一个图片文件时,其发送的POST请求如下:

POST /upload_image/ HTTP/1.1Host: graph.oculus.commultipart/form-data

之后,oculuscdn.com返回的响应如下:

HTTP/1.1 200 OK{“id”: “1234567890012345”,“handle”: “HANDLE_TO_THE_IMAGE”,“uri”: “https://scontent.oculuscdn.com/v/t64.5771-25/12410200_1905973632996555_3168227744525844480_n.png?_nc_cat=0&oh=6163326b2eb5e87c16c6949f1e734611&oe=5AD840C8”}

其中包含了图片的ID号,称呼Handle和具体的访问链接URL。可以看到,我们POST请求主机graph.oculus.com,Response中响应的主机为scontent.oculuscdn.com。这里存在的漏洞就比较简单了,不需要像之前facebook cdn的那样需要进行cname域名替换,这里直接把 /v/ 和HASH串去掉,就能访问到目标图片了。整个测试过程如下:

上传PNG图片,用BurpSuite拦截抓包;

拦截到上传的PNG图片内容,把恶意的带XSS Payload的js外链添加在其末尾;

成功上传后,从响应内容中提取出图片上传后的具体访问URL链接;

然后,把URL中的 “/v/“ 和 HASH串去掉去掉,再把上传图片的后缀格式由.jpg改为.html,就能成功加载之前添加进入的js恶意Payload了。

这里,我用到的带XSS Payload的js外链为:

https://www.amolbaikar.com/wp/js/oculus.js

最终的请求链接如下:

https://scontent.oculuscdn.com/t64.5771-25/12410200_1905973632996555_3168227744525844480_n.html

PoC视频:

漏洞影响

该漏洞允许攻击者在Oculus CDN服务器上执行任意JS文件,好在有沙盒防护机制,其不能读取用户的cookies/session信息,但应用在实际的攻击场景中,该漏洞可以绕过Facebook的链接黑名单系统 Linkshim,也能用其实施钓鱼行为。

漏洞上报进程

2018.3.19: 漏洞初报

2018.3.22: 技术详情提供

2018.3.22: Payload测试

2018.3.23: 漏洞有效性认可

2018.5.25: 漏洞修复

2018.6.1: $1500赏金发放

*参考来源:amolbaikar,clouds编译,转载请注明来自FreeBuf.COM

登录查看更多
0

相关内容

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
广东疾控中心《新型冠状病毒感染防护》,65页pdf
专知会员服务
18+阅读 · 2020年1月26日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
Keras作者François Chollet推荐的开源图像搜索引擎项目Sis
专知会员服务
29+阅读 · 2019年10月17日
后渗透利用msf关闭防火墙
黑白之道
8+阅读 · 2019年8月24日
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
ISeeYou一款强大的社工工具
黑白之道
30+阅读 · 2019年5月17日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
DiscuzX 3.4 Phar反序列化漏洞
黑客工具箱
8+阅读 · 2019年1月4日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
Arxiv
4+阅读 · 2018年9月6日
Video-to-Video Synthesis
Arxiv
9+阅读 · 2018年8月20日
Arxiv
4+阅读 · 2018年4月29日
Arxiv
3+阅读 · 2018年4月5日
Arxiv
5+阅读 · 2018年3月6日
VIP会员
相关资讯
后渗透利用msf关闭防火墙
黑白之道
8+阅读 · 2019年8月24日
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
ISeeYou一款强大的社工工具
黑白之道
30+阅读 · 2019年5月17日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
DiscuzX 3.4 Phar反序列化漏洞
黑客工具箱
8+阅读 · 2019年1月4日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
相关论文
Top
微信扫码咨询专知VIP会员