本文通过谷歌广告中的视频 *** 功能,作者发现了Youtube私享(Private)视频图像帧的越权获取漏洞,利用该漏洞可以获取知晓视频ID号的任意Youtube私享(Private)视频的所有图像帧,从而可完整拼凑出整个视频图像信息。漏洞最终获得了谷歌官方$5k的奖励。
2019年底的时候,我参与了YouTube的漏洞众测,在此过程中我尝试去测试对他人未授权视频的获取。当用户上传视频到YouTube时,可以对上传视频选择三种隐私权限。公开(Public)-即任何人可以发现并观看该视频;不公开(Unlisted)-只有知晓该视频ID或URL链接的用户才能观看该视频;私享(Private)-只有上传者自己或是其他授权者才能观看该视频。
首先,我用我的第二个Youtube账户进行了视频上传,并把该视频权限设置为私享(Private),然后以该视频为对象进行测试。如果我用我另一个Youtube账户获取到该视频,那么,漏洞就存在了。
然后,我登录了我的之一个Youtube账户,对上传视频流程相关的功能进行了反复测试,之后,我发现了一个包含视频ID(video ID)HTTP请求,此时我的直观思路就是能否把该视频ID替换成另一个账户中上传的私享视频ID,这样看看会有什么反应?但一番操作后完全不行。Youtube主站点会对请求中的视频执行权限检查,因此,最后的响应一直返回'This video is private'。
因此,这里需要转变一下思路。可以这样想想,看看是否有其它产品/服务是否会从内部去调用YouTube视频,或者说与YouTube上传的视频有交互关系。如果有,那么在其中的机制中可能会有一些脆弱性环节。之后,我发现了一个有意思的服务平台-Google Ads(谷歌广告),广告商可以通过该平台使用包括YouTube在内的等多种谷歌服务来创建广告页面。
接下来,我就创建了一个Google Ads(谷歌广告)账户,它将播放我的一个视频,作为YouTube用户的可跳过广告。在该广告的 *** 过程当中,我还是用之前上传的私享视频做为测试目标,但是几经尝试,还是没能发现可利用的线索。广告 *** 完成后,我看了一下Google Ads的各种功能,发现它当中的功能非常全面,为此我着重看了一下它其中与YouTube相当的功能。
Google Ads中有一个叫Videos的页面,从中可以看到广告用到的相关视频列表。当点击其中的某个视频时,会打开一个针对该视频的特定分析(Analytics )功能。广告 *** 者可以通过该分析功能中内嵌的播放器、数据和一个叫Moments(片刻)的有意思功能,了解广告视频的点击情况,并可通过其Moments(片刻)功能标记视频,设置某些广告Logo的出现时间等。
当我标记视频的时候,从burp抓包流量中发现了以下包含视频ID的请求包:
POST /aw_video/_/rpc/VideoMomentService/GetThumbnails HTTP/1.1 Host: ads.google.com User-Agent: Internet-Explorer-6 Cookie: [redacted] __ar=
在__ar参数中,1的参数值为视频ID,2的参数值为标记时间的毫秒时间。该请求的响应为广告视频中标记时刻的缩略图base64编码。这里,我想到的当然是把该POST请求中的视频ID替换我之前另一个Youtube账户中上传的,权限为私享(Private)的视频的ID。果然,让我吃惊的是,这种视频ID替换之后,竟然能成功返回相关视频的base64编码!我赶紧在谷歌上查找“base64 to image”工具,通过一个相关工具,我成功地获取了我另一个Youtube账户中上传的私享(Private)视频缩略图!哈哈,成功了!这是一个典型的IDOR越权漏洞,可以通过该漏洞利用获取Youtube上任意私享(Private)视频的任意图像帧,当然最终也能完全拼凑出一个完整的视频来!
好吧,现在的漏洞利用只能对单独的图像帧进行获取,能否获取更多的东西呢?之后,我决定通过Python脚本来进行更多图像帧获取。假如目标视频的每秒传输帧数为24FPS,那么每个图像帧驻屏时间为33毫秒。那么,这样我就能从0毫秒进行获取,通过33毫秒的间隔图像帧获取,就能获取到完整的目标视频了。我快速地编写了一个POC脚本,下载了目标视频中前3秒图像,经解码还原,与目标测试视频完全相同。
该漏洞隐患确实严重,但还是存在以下利用限制:
1、必须知晓目标私享视频的视频ID号,不过在大量数据泄露中,该漏洞也许就能派上用场了;
2、只能获取到目标私享视频的图像信息,不能获取到其中的音频信息;
3、获取到的目标私享视频图像信息分辨率较低,但也不影响观看。
当在测试中碰壁时,可以转变思路,看看周边产品或服务是否与当前系统有交互调用;认真细致地去了解目标系统或应用的功能特性,尽量多的去测试一些相关功能,不要放过任何可执行操作。意外总会发生在大多数人想像不到的地方。
2019.12.11 - 漏洞上报
2019.12.11 - 漏洞分类
2019.12.20 - 漏洞接收(P4 -> P1)
2020.1.8 ? ? - 漏洞‘片刻’Moments功能修复
2020.1.17 ? - 漏洞奖励$5000发放
参考来源:xdavidhu,编译整理:clouds,转载请注明来自Freebuf.com
本文目录一览: 1、电脑中黑客了怎么办? 2、命令提示符攻击别人电脑 3、怎样防止黑客侵入电脑? 电脑中黑客了怎么办? 一般来说,黑客会在入侵后建立一个管理员帐户,已达到控制计算机的目的。而...
被华航骗了钱如何追回黑客 被黑客骗了钱的,受害人应当前往当地公安局或派出所报警。网上被骗的受害人应当及时固定被诈骗的证据,并向公安机关报案。只有报警,如果在第一时间报警,不一定警察能拦截住你的汇款,别...
2020年,由于暴发“灰天鹅”恶性事件,许多 公司存活艰辛,有一些乃至迫不得已宣告破产。在其中国际航空公司,也由于大伙儿今年初宅在家里,好多个月沒有外出而备受危害,公司现况只有用“萧条”二字描述。...
本文导读目录: 1、著名的黑客事件都有哪些 2、97年米特尼克事件 3、FBI服务器被攻击,这对FBI有什么影响? 4、世界头号黑客,FBI认为他可以用口哨启动核武器,现转型从良,你怎么看...
首要,对Install.lock大局搜索 Description: Javascript libraryC.同台服务器一切表单的POST数据Elasticsearch的协议彻底是根据HTTP协议的,...
微信聊天记录被误删的事情时有发生,这不是前几天小编的一个朋友因为清理微信聊天记录的时候,不小心把客户发的订单信息给删除了,现在因为缺少信息很可能面临很大的经济赔偿金额,在朋友圈到处求助恢复的方法。小编...