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

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

缺陷编号:wooyun-2012-014590

漏洞标题:光大银行Android手机客户端密码明文泄漏

相关厂商:光大银行

漏洞作者: 路人甲

提交时间:2012-11-10 15:22

修复时间:2012-12-25 15:23

公开时间:2012-12-25 15:23

漏洞类型:敏感信息泄露

危害等级:中

自评Rank:10

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-11-10: 细节已通知厂商并且等待厂商处理中
2012-11-14: 厂商已经确认,细节仅向厂商公开
2012-11-24: 细节向核心白帽子及相关领域专家公开
2012-12-04: 细节向普通白帽子公开
2012-12-14: 细节向实习白帽子公开
2012-12-25: 细节向公众公开

简要描述:

光大银行的Android手机客户端把密码明文输出到logcat上,可以导致别有用心的人获取到关键信息。

详细说明:

猜测是因为光大银行android客户端开发人员release产品的时候没有把log注释掉,导致密码等关键信息泄露,随便用logcat就能看见了。

漏洞证明:

首先我们把手机连接到电脑上,并打开USB调试模式,在终端里输入 adb logcat -C 监视手机上的logcat。然后打开光大银行的客户端,选择手机银行,输入密码并登录,可以看见在logcat里输出如下内容:

login2.png


如果在本手机上不是第一次登录的话,这部分内容就不会显示。具体信息是手机号码,确认的手机号,以及身份证号码。
如果输入正确的话就会跳到要求输入密码的界面,输入密码后点登录,logcat里就会显示如下内容。密码也明文显示了。

login.png


第一行的就是手机银行的登录密码。
好了,现在关键信息获取到了,那么转帐呢?
我们现在试试用手机银行的实时到帐功能来转帐,输入交易信息后点确定,可以看见logcat再次把这些信息完整的暴露出来了。

deal.png


其中第一行是支付密码,也就是在ATM取钱时的密码。第二行是动态密码,是交易的时候银行把这个密码通过短信发送到手机上的。
可能有人会问,如果之前已经登录过了,获取不到手机号和身份证信息,也不会有问题啊。
在这种情况下如果有root权限,把/data/data/com.cebank.bankbb/目录下的内容复制一份出来,丢到别的手机上,就能变成"已经输入了身份证/手机号信息"的用户了。
一切信息都搞到手,要利用起来就很容易了。
在android应用程序中要获取logcat并不是一件困难的事情,并不需要root权限就可以获取了。具体获取的代码见这里:
http://blog.csdn.net/chenshijun0101/article/details/7667377
利用的时候可以写个service监听logcat,TAG信息为System.out,类型为I的内容。然后可以通过反编译apk的方法把这个service插入到正常的应用程序当中(比如QQ或者微信之类的)。这种程序自己本身也带服务,一般用户看进程不会发现多了个的。监听到的信息通过短信或者网络发送回黑客手中,然后黑客转走卡上所有余额的时候,要求输入动态密码的话,这个服务还可以做到接收短信的广播,将其转发给黑客,并取消这个短信广播。因为Android的短信是走系统的广播机制,所以只要接收的优先级比系统的短信apk要高(这个并不难,很多垃圾短信过滤的软件就是这样干的),那么就能比系统先接收到广播,并将其销毁。
不给出代码的原因一来是怕被别有用心的人利用,而来自己也是懒,所以就不写了。

修复方案:

无。logcat没法屏蔽。只能靠光大银行配合修改代码,把输出log的代码全干掉就行了。
另外吐槽下光大的log把所有通过http收发的数据全打出来了....可以看见数据传输还用的XML,没采用json这种更轻便更省流量的技术。建议换用json,无论从速度上还是流量占用上都有很不错的提升。
发现这个漏洞是因为本码农发工资是用的光大银行的,所以本人更加希望光大银行能把安全问题看重点,别让我们这些码农辛勤工作拿到的工资没有安全保障,谢谢。

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2012-11-14 14:25

厂商回复:

CNVD确认漏洞信息,转由CNCERT直接协调光大银行处置。
从本案例也可以看,移动互联网的防范不仅仅需要防范恶意软件,而在开放平台上如android,也要注意对本地信息或连接信息的保护。
rank 10

最新状态:

暂无