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

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

缺陷编号:wooyun-2015-0119048

漏洞标题:苏宁APP 苏宁易购拒绝服务打包(非批量纯手工附分析)

相关厂商:江苏苏宁易购电子商务有限公司

漏洞作者: 小手冰凉

提交时间:2015-06-09 15:47

修复时间:2015-09-07 16:28

公开时间:2015-09-07 16:28

漏洞类型:拒绝服务

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

苏宁易购拒绝服务打包(非批量纯手工附分析)
拒绝服务攻击虽然危害不大,但是经常的“停止响应”会严重影响用户体验

详细说明:

安卓端的拒绝服务一般有几个原因,一个是未验证Intent.getXXOOExtra方法造成的,还有是打破程序执行顺序的页面启动导致某些变亮未初始化,还有就是一些程序测试的接口在发布版本中存在,等等
第一处:
Activity:com.suning.mobile.paysdk.ui.CashierPrepareActivity
测试命令

adb shell am start -n com.suning.mobile.ebuy/com.suning.mobile.paysdk.ui.CashierPrepareActivity


这个界面从名字看应该是测试用的,分析代码发现似乎是测试支付的
其中发生了如下调用关系

com.suning.mobile.paysdk.ui.CashierPrepareActivity.onCreate()
com.suning.mobile.paysdk.ui.CashierPrepareActivity.c()
com.suning.mobile.paysdk.ui.c.a.a.a()
com.suning.mobile.paysdk.ui.c.a.a.b()


最后的函数b有如下未验证代码导致程序崩溃

1.PNG


第二处:
Activity:com.unionpay.upomp.bypay.activity.SplashActivity
测试命令

adb shell am start -n com.suning.mobile.ebuy/com.unionpay.upomp.bypay.activity.SplashActivity


目测这个界面应该属于第三方SDK,在问题出在初始化布局文件上,应该是引入不完整,缺少布局文件

捕获.PNG


第三处:
receiver:com.suning.mobile.ebuy.appstore.app.ui.PackageReceive
测试命令

adb shell am broadcast -a android.intent.action.PACKAGE_ADDED -c android.intent.category.HOME -n com.suning.mobile.ebuy/.appstore.app.ui.PackageReceive


这里直接使用了未验证的getDataString方法

捕获.PNG


第四处:
Activity:com.suning.dl.ebuy.dynamicload.SuningDLProxyActivity
测试命令

adb shell am start -n com.suning.mobile.ebuy/com.suning.dl.ebuy.dynamicload.SuningDLProxyActivity


启动时发生如下调用

com.suning.dl.ebuy.dynamicload.SuningDLProxyActivity.onCreate()
com.suning.dl.ebuy.dynamicload.internal.DLProxyImpl.onCreate()


后面这个onCreate中使用了未验证方法,导致程序崩溃

捕获.PNG


第五处:
Activity:com.suning.dl.ebuy.dynamicload.SuningDLProxySingleTaskActivity
测试命令

adb shell am start -n com.suning.mobile.ebuy/com.suning.dl.ebuy.dynamicload.SuningDLProxySingleTaskActivity


这里问题产生的根源跟上面一样,都是调用了DLProxyImpl.onCreate()这个方法。

漏洞证明:

如上

修复方案:

格外注意 Intent.getXXOOExtra方法
怀疑一切,不相信输入,做足检查

版权声明:转载请注明来源 小手冰凉@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-06-09 16:26

厂商回复:

感谢提交,移动客户端拒绝服务漏洞一律按照200元礼品卡计算。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-06-09 15:48 | hh2014 ( 普通白帽子 | Rank:225 漏洞数:11 | 继续)

    楼主犀利,学习

  2. 2015-08-13 18:39 | Me_Fortune ( 普通白帽子 | Rank:209 漏洞数:37 | I'm Me_Fortune)

    学习。