缺陷编号:WooYun-2015-0121741
漏洞标题:某银行客户端调试信息没有关闭导致存在用户账号、密码信息泄露风险
相关厂商:www.bocfullertonbank.com
漏洞作者:歪耳朵猫
提交时间:2015-06-22 12:12
公开时间:2015-08-08 14:22
漏洞类型:敏感信息泄露
危害等级:中
自评Rank:5
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
Tags标签:
2015-06-22: 细节已通知厂商并且等待厂商处理中
2015-06-24: 厂商已经确认,细节仅向厂商公开
2015-07-04: 细节向核心白帽子及相关领域专家公开
2015-07-14: 细节向普通白帽子公开
2015-07-24: 细节向实习白帽子公开
2015-08-08: 细节向公众公开
由于默认配置错误导致可能存在用户账号、密码泄露的风险
从官网下载1.1版本。从代码来看,调试信息默认没有被关闭。
于是登录测试一下
同时在logcat中可以看到
UserId就是卡号,Password用:分割,冒号之前是加密后的密码,之后是服务器返回的时间戳字符串,用于加密密码。加密密码的代码在这里
其中,PassGuardEncrypt.Decrypt(this.A, this.E)密码控件解密后的明文密码,this.a(x.l)为时间戳字符串。PassGuardEncrypt.getCipherText则是一个native方法,具有两个参数:密码明文和时间戳字符串。于是打开assets目录下的PassGuard文件。可以找到关于这个方法的字符串
真实的方法已混淆,名为M5Yib0x4CQko6NmQsM3k9B10MhKU1JLF看看这个方法内部,发现使用了rijndael加密算法。
但是这是一个AES对称加密算法,并且在动态库文件里存在着解密方法。
所以存在拿到日志后利用解密代码还原密码的可能。
解决方法很简单,把log关闭就是了
危害等级:中
漏洞Rank:8
确认时间:2015-06-2414:20
CNVD确认并复现所述情况,已经转由CNCERT向银行业信息化主管部门通报,由其后续协调网站管理单位处置。
暂无
原文连接
的情况下转载,若非则不得使用我方内容。