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

访客4年前关于黑客接单883

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

相关文章

luka阅读机器人怎么样 卢卡阅读机器人试用测评

luka阅读机器人怎么样 卢卡阅读机器人试用测评

儿童早教机的知名品牌样式有很多种多样,在其中luka阅读文章智能机器人外型还挺讨人喜欢的,那麼卢卡阅读文章智能机器人如何呢,luka阅读文章智能机器人好不好用呢,我就而言讲吧。 luka(549元)...

亚洲黑客雇佣平台

如果网站能够进行超链接访问,我可以黑掉,超链接都无法访问的话,那没办法 危害计算机、网络信息安全罪,主犯,构成犯罪后,从重处罚。 呵呵,不一定是黑客啊,你补一下漏洞,禁止远处连接,检查一下用户档,和有...

我怀疑老公出轨了怎样偷偷查询他在微信的聊天

常常需要开车出门的人,如果遇上长时间驾驶,通常会腰部难受、酸痛,有的可能一检查,发现腰椎已经出了问题。如果在座椅上装一个腰靠,会好很多。汽车腰靠买哪种合适 夏天汽车腰靠可以用吗。友谊长存带来相关介绍...

买国债和存定期哪个好【购买国债的好处和弊端】

网站首页SEO优就2020年第六批国债券而言,当期国债利率与2020年前几集对比沒有产生变化,三年期年利率为4%,5年期年利率为4.27%。与三年期和5年期存定期对比,国债券的优点還是非常大的。最先,...

金领冠1段奶粉怎么样 金领冠1段奶粉测评

金领冠1段奶粉怎么样 金领冠1段奶粉测评

金领冠奶粉是中国奶粉知名品牌里边许多父母都了解的一个,针对奶粉牌子以外许多父母更看好的是婴儿奶粉的营养成分,下边的我就而言说:金领冠1段奶粉如何 金领冠1段奶粉评测。 金领冠1段奶粉如何 接到...

胡桃里可以抽烟吗(胡桃里九点后另收费吗)

  本评定仅代表创作者个人见解。如果有共同之处,如有雷同   夏天到了,现在是时候抛下各种各样冬季热饮,相拥冷食了。可是我终究每日喝不起冰美式环城河,也不愿在各种各样“肥宅快乐水”中耗费过多发热量。因...