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

编号119048
Urlhttp://www.wooyun.org/bug.php?action=view&id=119048
漏洞状态厂商已经确认
漏洞标题苏宁APP 苏宁易购拒绝服务打包(非批量纯手工附分析)
漏洞类型拒绝服务
厂商江苏苏宁易购电子商务有限公司
白帽子小手冰凉
提交日期2015-06-09 15:47:00
公开日期2015-09-07 16:28:00
修复时间(not set)
确认时间2015-06-09 00:00:00
Confirm Spend0
漏洞标签拒绝服务
关注数0
收藏数0
白帽评级
白帽自评rank10
厂商评级
厂商评rank10
漏洞简介
苏宁易购拒绝服务打包(非批量纯手工附分析)
拒绝服务攻击虽然危害不大,但是经常的“停止响应”会严重影响用户体验
漏洞细节

安卓端的拒绝服务一般有几个原因,一个是未验证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()这个方法。

POC

如上

修复方案

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

状态信息 2015-06-09: 细节已通知厂商并且等待厂商处理中
2015-06-09: 厂商已经确认,细节仅向厂商公开
2015-06-12: 细节向第三方安全合作伙伴开放
2015-08-03: 细节向核心白帽子及相关领域专家公开
2015-08-13: 细节向普通白帽子公开
2015-08-23: 细节向实习白帽子公开
2015-09-07: 细节向公众公开
厂商回复感谢提交,移动客户端拒绝服务漏洞一律按照200元礼品卡计算。
回应信息危害等级:中漏洞Rank:10 确认时间:2015-06-09 16:26
Showing 1-2 of 2 items.
评论内容评论人点赞数评论时间

学习。

Me_Fortune02015-08-13 18:39:00

楼主犀利,学习

hh201402015-06-09 15:48:00