看我如何发现价值三千美金的Facebook视频缩略图信息泄露漏洞

本文我要分享的是我的一个$3000美金Facebook漏洞发现过程。在我决定对Facebook网站进行安全测试之后,我熟读了很多相关的漏洞发现writeup,发现Facebook对有效漏洞的赏金程度还算可观,于是乎,我就给自己制订了几个相关的Facebook网站目标,看看能否在其中发现一些有意思的问题,挖掘出实质性的漏洞来。

发现端倪

经过一些研究之后,一个名为Canvas的Facebook交互式广告功能引起了我的注意。基于这个功能,管理员和广告商都能申请创建自己的CANVAS广告内容,之后,还能对这个广告内容进行一些诸如图片和视频的上传插入等编辑操作。

Facebook Canvas是Facebook发布的具有交互式全屏广告的功能,它可以将图片、视频、文本和CTA按钮整合到一个单一的内容模式中,帮助企业设计出引人入胜的手机端内容体验。企业为特定产品建立一个迷你网站,网站内容包括幻灯片、图文信息和视频等。而移动端用户可以在不离开Facebook的前提下,通过简单的点击、滑动等操作来实现交流互动。

接着,我就马上创建了自己的一个CANVAS内容,并选定了一个视频片段进行了上传保存。之后,我开启了Burpsuite开始网络抓包,并对CANVAS内容的标题作了一个修改,想通过网络流量分析来探究一下这种编辑操作的具体运作机制。该修改请求如下:

POST /v2.11/{My_Page_ID}?access_token={My_page _Access _Token} HTTP/1.1 Host: graph.facebook.com User-Agent: Accept: / Accept-Language: en-US,en;q=0.5 Referer: https://www.facebook.com/ Content-type: application/x-www-form-urlencoded Content-Length: 206 Origin: https://www.facebook.com Connection: close _reqName=object%3Acanvas_video&_reqSrc=AdsCanvasElementDataLoader&bottom_padding=0&locale=en_US&method=post&name=Video&pretty=0&style=FIT_TO_WIDTH&suppress_http_code=1&top_padding=0&video_id=956034724555363

可以看到,在以上消息中,存在一个名为video_id={id of video}的参数,它应该就是我上传保存的那个视频信息id了。看到这个参数后,我就觉得似乎有戏了。于是,我在虚拟机中登录了我的另一个Facebook CANVAS测试账号,我通过post方式上传了一个视频,然后抓包发现了这个对应的视频信息id号-video_id。

漏洞测试

我测试账号中的视频信息id为video-id=130146294495198,然后,我用这个video-id对之前在主机中测试发现的video_id=956034724555363进行了替换,然后,对它进行了一次post上传,哦….,竟然成功了!整个响应消息如下:

由于这种视频video-id号很容易获取,可以从Facebook中陌生人的公开视频,或是我朋友圈别人发的可见视频中来提取得到,这样也就是说,我可以用任意其它可获取到的video-id号来上传别人的视频。

现在,由于我主机和虚拟机中不同CANVAS账号上传的视频video-id号相同,并能通过video-id号成功上传,因此可以说,这个video-id号就是一个IDOR(不安全的对象引用)漏洞参数。那么我反过来想,那是不是我把主机CANVAS账号上的这个video-id号对应视频删除了,虚拟机中那个CANVAS账号上的视频也会被同时删除吗?试试看,这一试,不得了,竟然也能成功删除!

变换利用思路

哇,让我不知所措,现在我们再换种角度来考虑这个漏洞,要把这种思路进行最大化利用。第二天,我想到了Facebook的办公应用Workplace,由于Workplace App上的所有消息包括照片视频,都是有权限限制的,并不都是公开可见的,只有同一个公司且注册邮箱一致的成员好友才可见互相发的消息。

于是,我用我的Workplace测试账号发了一个视频朋友圈消息,想看看这种应用环境中的视频video_id号能否用于之前的CANVAS IDOR漏洞场景,经抓包测试我发现了这种Workplace下的视频上传video_id号:video_id=168712210608619,我二话不说就把它复制到了一开始对主机graph.facebook.com发起的CANVAS标题更改request消息中,之后,有了成功响应。此过程网络行为如下:

请求响应过程完成之后,我刷新了页面,并点击了预览选项,想看看能否浏览到我Workplace账号上发送的这条视频信息,遗憾的是我不能浏览这条视频内容,但是,我却发现了一个如下有意思的事情:

你可以看到,在上述图片两侧,都有一个不断转啊转的视频等待圈圈图标,这也就是说那条利用Workplace账号中video_id号上传的视频已经成功上传了,只是可能存在某种阻拦机制,暂时还不能预览它。好吧,那我就来想想办法是否能把这种阻拦机制绕过呢。

经过几分钟的考虑之后,在一支烟快要抽完之际,我想到了一个好方法,也就是在以下图片红色箭头标记处,可以看到,这有一个选项,这里的预览功能(Preview)写着“把这个CANVAS广告预览效果发送到智能手机上”:

于是我就把这个CANVAS广告预览效果发到我的手机上了,我的手机收到了一条提示:“Your canvas is ready to preview”,那就预览一下吧,咦,我就这样能在手机上看到那条上传的视频内容吗?哦,不,不能看到整个视频内容,只能看到几秒的一段视频缩略图效果。但不管了,也能说明一定程度的问题啊!

我把这个漏洞上报给Facebook的安全团队之后,由于这是一个有效漏洞,为什么呢?从我个人角度来说,Facebook 的Workplace App应用是专为企业和公司开发的,用于公司内部交流沟通的职场应用,由于Workplace上交流的消息可能涉及到一些公司企业内部消息、文章、通知等内容,而这种通过漏洞利用方式能看到其公司内部交流的视频缩略图也算是一种安全问题。就比如如果这种视频内容中包含了一些会议地点、私人邮箱,或一些涉及公司产品定价、预算、销售额等不该公众或其它公司可见的私密内容等,这就存在信息泄露风险了。

Workplace 是一个企业交流App,可帮助组织内的员工建立联系,加强员工之间的协作,提升组织业务成效。Workplace 拥有小组、搜索、档案、Workplace 聊天、动态消息、自动翻译和直播视频等功能。您可以创建 两种类型的 Workplace 帐户:Workplace 尊享版和 Workplace 标准版。使用 Workplace 可以创建不同于 Facebook 个人帐户的 Workplace 帐户

漏洞上报进程

2018.3.30 —漏洞初报 2018.4.5  —  漏洞分类 2018.4.10 — 漏洞修复 2018.4.10 — 漏洞修复确认 2018.5.3 —  Facebook向我发放$3000美金

漏洞PoC

视频内容

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

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-06-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

想知道你的对象用微信和谁聊得最多吗?一个代码告诉你

在生活中、工作中经常使用微信与好友聊天,有时候聊天的消息多到自己都不知道有多少,有用户就很好奇,这该怎么查看与好友的聊天记录数量呢? ? 今天告诉大家一个方法,...

679100
来自专栏ytkah

微信公众平台增加批量获取用户基本信息接口

  为了帮助开发者提高效率,微信公众平台的用户管理接口中,新增了批量获取用户基本信息的接口。    同时,为了保障公众号第三方平台的业务运营,该接口已放入用户管...

67070
来自专栏web前端教室

各公司不喜欢招前端新人,但为什么又要去校招呢?

希望十一长假没有让咱们“web前端零基础课0827班”的同学们有过多的懈怠。因为从这几天的作业之中依然可以发现,还是细节方面会有一些问题。

91820
来自专栏小特工作室

局域网内手机播放视频

  随着科技越来越发达,手机,平板越来越被大众接受,逐步成为必需品。手机、平板这类移动端的产品,和PC机相比,携带确实方便很多,而且功能也越来越和PC电脑接近,...

38760
来自专栏CreateAMind

从GITLAB误删除数据库想到的

酷 壳 – CoolShell http://coolshell.cn/articles/17680.html

20540
来自专栏阮一峰的网络日志

Web service是什么?

我认为,下一代互联网软件将建立在Web service(也就是"云")的基础上。 我把学习笔记和学习心得,放到网志上,欢迎指正。 今天先写一个最基本的问题,We...

525130
来自专栏无原型不设计

如何制作一个完美的错误提示信息

以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具。 每个系统都会出现暂停工作的时候,它可能是用户的错误操作或...

31540
来自专栏大数据钻研

十年来,编程领域有什么重要进展?

编程语言层出不穷,然而内核是万变不离其宗。我个人看法觉得是以下几个方面的变化比较明显。 语言本身: 1. 工业标准 网页标准有 W3C 控制,尤其是浏览器的开发...

37350
来自专栏软件

ERP管理软件系统设计方案

【微信运营】微信公众号开发、朋友圈广告、微信运营活动、微信小程序、微商城搭建; 【电脑端网站】网站建设、网站结构、网站功能、关键字策划、UI设计、网站SEO、升...

53250
来自专栏编程之旅

小程序开发总结

很久很久很久没有更新了,最近几个月因为房子交房,生活上是一片忙碌,工作上的事其实还好,没有分去很多精力,主要是在生活上的事情牵扯了太多了精力,于是乎把每周一更博...

33560

扫码关注云+社区

领取腾讯云代金券