首页 » Network_security » Network_A_D » 正文

浅谈应用克隆

0x00 概述

漏洞发现者:腾讯玄武实验室

漏洞简述:webview跨域访问,可泄漏敏感信息和登录凭证,实现对app账户的控制。

漏洞利用条件:

  • WebView中setAllowFileAccessFromFileURLs 或setAllowUniversalAccessFromFileURLsAPI配置为true;(android<4.1默认true)
  • Webview可直接被外部调用,且能加载外部可控html文件,即应用中存在设置为可被导出的Activity组件,并且组件中包含Webview调用。

漏洞影响:所有使用webview控件且开启了那两个true且没做安全策略的android app。

 

0x01 漏洞浅谈

webview: 显示网页的控件,基于webkit引擎。具有一般view的属性和设置,可以对url请求/页面加载渲染交互进行处理。

通过网页唤起第三方app用了scheme指定一个伪协议即可,如scheme=alipays://xxx

接收外部传入的URL参数,然后在APP内进行加载,如支付宝的qrcode=xxx。

漏洞在于webview开启了file域访问(那两个true),而且file域可以对http域访问,并且file域路径没有严格限制,所以攻击者可以通过url scheme远程打开并加载恶意html文件实现对app中的敏感信息进行窃取。

攻击流程大概就是通过访问恶意html,调用了file协议用js读取敏感文件,再通过http等协议发送到攻击者远程服务器。

伪协议启动要克隆的app,下载恶意html文件—>file协议(html)读取要克隆的app的私有文件—>把私有文件传到攻击者服务器—>私有文件copy到自己手机—>OVER!

 

0x02 修复方案

1. 无需file域访问:手动配置setAllowFileAccessFromFileURLs(file协议中js读取本地文件内容)或setAllowUniversalAccessFromFileURLs(file协议跨域)两个API为false

2. 需要file域访问:设置file路径白名单。

3. 加密敏感数据。

4. 严格限制包含webview调用的activity组件导出权限。

 

0x03 结语

要注意的是这个并不是新漏洞,很早就出现了webview跨域的安全问题(webview还有很多其他问题),一直没引起重视,现在就火了一把,这个漏洞危害还是很大,要及时更新app,避免点击不明链接。

 

0x04 参考资料

www.freebuf.com/articles/terminal/159787.html

www.freebuf.com/articles/terminal/160544.html
blogs.360.cn/360mobile/2014/09/22/webview跨源攻击分析/

blog.csdn.net/xwh_1230/article/details/79045251

 

 

Comment