本文中,作者通过发现Shazam应用APP深度链接(deeplink)运行机制中存在的一个漏洞,利用其中的开放重定向和js接口安全问题,可实现对Shazam应用APP用户的特定信息获取。Shazam是苹果公司旗下软件,其应用能根据取样片段识别出对应的歌曲、电影、广告和电视节目(听音识曲),该应用可支持Windows、macOS和智能手机。
2018年底,我发现了Shazam应用APP的一个漏洞,攻击者可以构造一个URL链接让受害者执行点击,即可获取到受害者的精确地理位置。该漏洞影响非常严重,将近1亿Shazam用户受此影响,攻击者利用漏洞构造的一条链接,在受害者点击之后,除可获取受害者的精确地理位置之外,还能实现对受害者手机设备某些特定功能的访问。其实,经过进一步的精心设计,该漏洞完全可以形成一个“零点击漏洞”(zero click vulnerability),但苹果和谷歌却根据他们的众测规定拒绝了该漏洞,可是,漏洞最终却被修复了。
我当时给Shazam安全团队上报漏洞的时间是2018年12月(即Shazam被苹果收购的三个月后),我被引导直接向security@apple.com进行漏洞情况上报,经过一番协调反复,漏洞最终于2019年3月26日修复。之后,又经过8个月,苹果才认定该漏洞有效,但却声称该漏洞不在他们的众测规定范围内,不予支付漏洞赏金。另外,Google Play应用商店安全项目也回复我说该漏洞中泄露的用户数据影响不大,不予奖励。
该漏洞最终给予的漏洞编号为CVE-2019-8791和CVE-2019-8792,影响Android 和 iOS手机上的Shazam应用。CVE-2019-8791的官方描述是:Shazam APP在URL解析时存在问题,攻击者可以通过构造特定URL链接实现开放重定向(open redirect);CVE-2019-8792的官方描述是:攻击者可以通过构造特定URL链接实现任意 *** 代码执行。
Shazam在整个APP应用中用到了深层链接deeplink作为导航操作,我发现了一个特殊的导出深层链接,它负责在webview控件中加载网站,该深层链接无需对其参数数值进行验证,允许嵌入外部资源。而且,它其中的webview控件包含了一些js接口,通过这些js接口可与Android 或 iOS 手机API通信,从而检索出用户手机中包含地理数据在内的一些特定信息内容。
该深层链接样式为shazam://launchurl?url=,其中的url参数可以是一个网站或是一个js格式脚本。一旦其中的webview控件加载后,Shazam APP将会附加运行一个名为WebViewJavascriptBridge的js接口,该接口可通过窗口对象访问到。
经对Shazam APP反编译,并分析了其中的js接口,我发现了两个 *** 函数setMessageHandler 和 sendMessage。可以通过重写setMessageHandler函数,捕获到通过sendMessage函数发出请求的响应。setMessageHandler函数包含了type 和 data两个参数组成的 *** ON对象。经过一番研究测试,我很快写出了一段POC代码:
<html> ? <script> ? ? ? ? window.WebViewJavascriptBridge.setMessageHandler(function(e) { ? ? ? ? ? alert( *** ON.stringify(e)); ? ? ? ? }) ? </script> ? <button onclick="window.WebViewJavascriptBridge.sendMessage( *** ON.stringify({type:'aboutBridge',data:{}}));">Device Info</button> ? <br><br> ? <button onclick="window.WebViewJavascriptBridge.sendMessage( *** ON.stringify({type:'location',data:{}}));">GPS</button><br><br> </html>
1、攻击者向受害者发送构造好的URL链接;
2、受害者点击链接并加载打开了Shazam APP应用;
3、Shazam APP应用加载webview控件并执行攻击者嵌入的Payload;
4、受害者地理位置等其它信息即被攻击者窃取,发送到攻击者控制的服务器中。
通过简单的URL链接构造,攻击者即可利用Shazam APP应用隐蔽简单地窃取受害者相关信息。对恶意攻击者或正义执法者来说,该漏洞不失为一个好的利用手段。但对用户来说,这却是涉及到上亿用户的隐私问题,因此,我选择了漏洞上报,但遗憾的是最终却不符合他们所谓的众测范围和规定,无所谓了,修复就好,我将继续深挖研究。
参考来源:ash-king
本文导读目录: 1、一部关于黑客攻击美国水晶宫军事基地的电影 2、刚看了一部电影,忘记名字了!美国片子!一个中学生小孩是个黑客,黑进了美国国防部,和智能电脑打了全球 3、有一部美国电影 是很多...
准妈妈在夏日还是很容易感冒生病的,不过正常人吃的药品孕妇是最好不吃的因为有可能对胎儿产生影响,不过孕妇感冒了怎么办好呢,怎么能让准妈妈的感冒好起来呢,我们大家来了解下吧。 为什么怀孕容易感冒 1、...
格列卫援助(格列卫援助项目官网app) 被患者称为“救命药”的“格列卫”,近来备受关注,网上有传闻称“瑞士诺华公司免费将药品提供给中国患者,却被中华慈善总会天价卖出”。对此,中华慈善总会辟谣。 “...
本文导读目录: 1、手机被黑客攻击了,怎么办? 2、如何保证电脑手机百分百不被黑客入侵? 3、怎么防止手机被黑客入侵 4、黑客通过手机系统软件露洞入侵,刷机后还可以使用吗 5、黑客可以...
最新消息报道,人艰不拆等词被教育部点名,人艰不拆出自林宥嘉的歌曲《说谎》,之后慢慢为大家广为流传,成为了一种网络流行用语,随着网络科技的发达,越来越多的流行用语出现在生活中,其中不乏一些低俗的语言,对...
本文导读目录: 1、黑客帝国1里尼奥戴的是什么牌的太阳镜? 2、黑客帝国史密斯的墨镜 3、黑客帝国里的墨镜是什么牌子的? 4、黑客帝国里的那个墨镜 5、黑客帝国眼镜 6、有谁知道黑...