记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

飞信Android客户端远程代码执行到远程读取任意用户系统通讯录+聊天信息(需低版本)

2016-01-16 22:00

反编绎飞信安卓最新版(v5.1.1)仍然没有移除多个webview中的addjavascriptinterface()方法,且targetsdk=11,所以存在webview远程代码执行漏洞,详细分析见:http://www.droidsec.cn/webview-远程代码执行漏洞浅析/



存在漏洞代码示例一:

code 区域
cn.com.fetion.activity.AmsBrowserActivity中的

private void setWebViewSettings() {

this.mWebView.getSettings().setCacheMode(2);

this.mWebView.getSettings().setJavaScriptEnabled(true);

this.mWebView.getSettings().setSupportZoom(true);

this.mWebView.getSettings().setBuiltInZoomControls(true);

this.mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

this.mWebView.getSettings().setAllowFileAccess(true);

this.mWebView.getSettings().setPluginState(WebSettings$PluginState.ON);

this.mWebView.getSettings().setBlockNetworkImage(false);

this.mWebView.getSettings().setUseWideViewPort(true);

this.mWebView.getSettings().setLoadWithOverviewMode(true);

this.mWebView.getSettings().setAppCacheEnabled(false);

this.mWebView.setInitialScale(100);

this.mWebView.getSettings().setDomStorageEnabled(true);

this.mWebView.addJavascriptInterface(new InJavaScriptInterface(this), "local_method");

this.chromeClient = new FetionChromeClient() {

public void onReachedMaxAppCacheSize(long arg2, long arg4, WebStorage$QuotaUpdater arg6) {

super.onReachedMaxAppCacheSize(arg2, arg4, arg6);

}

};



3.jpg



同时由于飞信app会读取系统通讯录,明文保存通讯录及聊天信息到本地APP私有目录(/data/data/cn.com.fetion/databases/fetion.db)

1.jpg

2.jpg



两者结合只需发送一个链接就可远程攻击任意app用户(需android版本在4.2以下),获取用户的通讯录及聊天信息等隐私



漏洞证明:



方法:

1.发送任意一条内容包含此链接的信息(http://www.droidsec.cn/fetionpoc.html)

2.用户收到信息在app访问此链接,攻击就可远程获取其通讯录及所有聊天信息



如下是通讯录信息

4.jpg





如下是聊天记录

5.jpg



修复方案:

移除以上所指出的漏洞接口,加密存储用户资料

知识来源: www.wooyun.org/bugs/wooyun-2016-0146515

阅读:100722 | 评论:0 | 标签:Android

想收藏或者和大家分享这篇好文章→复制链接地址

“飞信Android客户端远程代码执行到远程读取任意用户系统通讯录+聊天信息(需低版本)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云

本页关键词