漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0117320
漏洞标题:逆向分析易付宝Android版用户帐号密码及手势密码清除(附Demo验证)
相关厂商:江苏苏宁易购电子商务有限公司
漏洞作者: Nicky
提交时间:2015-05-31 17:51
修复时间:2015-08-30 20:58
公开时间:2015-08-30 20:58
漏洞类型:用户敏感数据泄漏
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-05-31: 细节已通知厂商并且等待厂商处理中
2015-06-01: 厂商已经确认,细节仅向厂商公开
2015-06-04: 细节向第三方安全合作伙伴开放
2015-07-26: 细节向核心白帽子及相关领域专家公开
2015-08-05: 细节向普通白帽子公开
2015-08-15: 细节向实习白帽子公开
2015-08-30: 细节向公众公开
简要描述:
易付宝是苏宁云商旗下的一家独立的第三方支付公司,2012年获得了中国支付清算协会和中国金融认证中心颁发的“中国电子支付业最具潜力奖”。在苏宁易购的注册会员,同步拥有易付宝账户,可以在苏宁易购上直接给易付宝账户充值,付款时可用易付宝直接支付。用户对易付宝账户激活后,即可享受信用卡还款、水电煤缴费等各种应用服务。目前,易付宝注册会员数超过3000万,年交易量近二百亿元,已和全国20多家主流银行建立了深入的战略合作关系,线上支付覆盖全国100多张银行卡,成为金融机构在电子支付领域最为信任的合作伙伴之一。
详细说明:
审核来个闪电吧。。。
1.易付宝Android客户端最新版使用了SQLite数据库本地加密储存用户帐号密码及手势密码;
相关数据库文件位于/data/data/com.suning.mobile.epa/databases/目录下的
db_gesture(手势密码)
SUNINGEPA.DB(用户帐户信息)
2.其加密内容如下:
3.先反编绎其APK安装包,分析登录密码的相关加密方法的入口位于
com.suning.mobile.epa.d.e类下的
4.继续跟踪ac.b(arg5.c())),发现传入的明文密码(arg5),使用进入com.suning.mobile.epa.utils.ac.b()方法进行加密:
经过分析这里用的是PBE算法加密,PBE——Password-based encryption(基于密码加密)。其特点在于口令由用户自己掌管,不借助任何物理媒体;采用随机数(这里我们叫做盐)杂凑多重加密等方法保证数据的安全性。如上就混杂了MD5与DES加密,是一种简便的加密方式。
5.但再分析发现这里加密用的salt是固定的(安全的做法是使用随机数生成):
6.这样我们在知道加密算法与密钥后,完全可以写出解密算法。关键代码如下:
7.此外,对于手势密码功能,其配置位于db_gesture文件中的table_gesture_password表
其中有处isGesturePasswordBeenActivated参数的值决定了手势密码的开与关(0为关闭1开启)
8.这样我们可以通过修改此文件来实现清除手势密码
漏洞证明:
具体漏洞利用见demo,黑客完全可以写出更WS的木马来盗取易付宝用户的帐号密码或者清除手势密码,这个漏洞对于支付类应用来说很严重。
链接: http://pan.baidu.com/s/1kT3mtN5 密码: 7zn5
修复方案:
使用更强的加密算法
版权声明:转载请注明来源 Nicky@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2015-06-01 20:57
厂商回复:
感谢提交,已经转交相关部门处理,稍后送上1000元礼品卡。
最新状态:
暂无