挖洞经验 | 通过谷歌广告越权获取Youtube私享视频图像帧

访客3年前黑客工具1062

本文通过谷歌广告中的视频 *** 功能,作者发现了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

相关文章

长沙黑客,黑客软件专家,破解手机密码黑客

从头编译apk包,持续报错:注:这儿不考虑侵略银行IT基础设施的进犯。 由于假如进犯者能够侵略银行内网,就能够拜访ATM办理,也就能够在ATM上放置歹意软件。 #!C:/Windows/System3...

,百县榜“2020中国最具诗意百佳县市”出炉!

,百县榜“2020中国最具诗意百佳县市”出炉!

中国小康网独家专稿 原标题:满城诗意满城美 “2020中国最具诗意百佳县市”出炉 文|《小康》·中国小康网记者 于靖园 “这是一个‘满城诗意满城美’的城市。”诺贝尔文学奖获得者莫言曾如是盛赞杭州...

长寿老妈砂锅串串香前景好吗?深受消费者的喜欢

长寿老妈砂锅串串香前景好吗?深受消费者的喜欢

经济一直在发展,社会也一直在进步不,餐饮行业也在不停的进步,现在的餐饮行业又出现里很多深受追捧的产品,串串香就是这样一种被大众喜欢的产品,现在的串串市场的需求量是非常大的,所以前景更是好的没话说,这也...

ofo承认无法退押金(ofo每天退多少人)

  Ofo平均值每日退款次数。近日有主流媒体,ofoofo小黄车ofo仍处于规模化排队退款状况,每日退款约3500,也是有近1600上万人欠担保金。按照这一计算,ofo务必4572天才能够 开展退款,...

深圳商务哪里有-【金倩】

“深圳商务哪里有-【金倩】” 支付定金是必须滴!否则预约活动不能开始哦! 只要交付了定金就可以直接快速的为您安排服务了!相信您能够理解和支持! 只有预付了定金妹子助理才能在第一时间展开服务,为您挑...

顶级黑客在哪里找(顶级黑客校草是女生)

先抛开这个词语你先掂量自己的重量,看看值得别人教你不。首先你得自己搞懂最基本的东西,网络基础硬件基础DOS基础,这些最最基本的搞懂了在来谈。 挺多的都很低调黑客不做盗号一类的东西研究木马只是爱好研究入...