某银行客户端调试信息没有关闭导致存在用户账号、密码信息泄露风险

漏洞概要

缺陷编号: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向银行业信息化主管部门通报,由其后续协调网站管理单位处置。

最新状态:

暂无

评价