漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0133247
漏洞标题:金融小能手之华夏银行漏洞包(突破安全防护机制与身份信息泄露等影响)
相关厂商:华夏银行
漏洞作者: 咚咚呛
提交时间:2015-08-13 08:27
修复时间:2015-09-28 17:18
公开时间:2015-09-28 17:18
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-08-13: 细节已通知厂商并且等待厂商处理中
2015-08-14: 厂商已经确认,细节仅向厂商公开
2015-08-24: 细节向核心白帽子及相关领域专家公开
2015-09-03: 细节向普通白帽子公开
2015-09-13: 细节向实习白帽子公开
2015-09-28: 细节向公众公开
简要描述:
华夏银行十二家股份制银行之一,世界1000家大银行评选第94,国内500强之一。
详细说明:
1、绕过直销银行整体安全防护方案(高风险)
绕过这个安全防护方案后可以任意越权,这里以账户总览举例。
正常查询操作界面如下,
描述下它的防护方案,很有意思,按照正常的思路测试抓包发现,如图:
对它数据包进行重放会发现它会提示检测到重放攻击,测试多个功能后发现,它数据包中头中多出了两个字段,如:
signature: d66579552aef68092c00f71e876a4f36b371ab60
messageId: 8480654155D84505BFF40F60765F608C
这两个字段会随着功能及参数的不同一直变化着,且带有时间戳,修改任意数据包的值都会提示检测重放攻击或者验签错误,如图
做到这里估计就要看js代码去了,大多数小伙伴可能就放弃了,其实有个简单的方法突破,那就是修改response的值。简单举例,设置我要查询的用户账户,以10250000001269679举例,如图:
它的返回值已经设置为10250000001269679,
自动设置相关事件id及签名编码,且可以越权操作了。
2、通过U盾编号获取身份证信息(高风险)
功能点:插入U盾后访问登录窗体
链接:
https://dbank.hxb.com.cn/easybanking/CertLoginServlet?keySN=10000000000000000000002004679881&rand=null
修改参数keySN的值可以跑出一一对应的身份证号码,且keySN的编号为递增规律,如:
然后就可以大量跑数据,跑出银行的所有身份证号码。
3、无限发送短信
功能点:修改个人休息
链接:
https://dbank.hxb.com.cn/easybanking/PClientChangePersonalInfo/FormGetDynamicAction.do?actionType=form2&clickButton=yes
可以无限制发送短信绕过客户端校验,造成资源浪费。
4、存储性XSS跨站脚本(首页触发)
触发点:登录即可触发(预留信息xss)
在修改个人信息中,设置预留信息为:<body onload=prompt(1)>
系统采用黑名单机制,防范了img alert script等特征,但是仍有遗漏,比如prompt。
如图:
漏洞证明:
看上面把。
测试发现华夏银行有很多亮点:
1、个人银行采用证书链,简单的代理替换证书方式无法正常截断篡改数据包。
2、直销银行采用一次一密方式,对整个数据包做防护。即使解断数据也无法篡改重放。
这两点在金融领域有相当的借鉴作用,很吊了!鼓掌~~~~
修复方案:
问题1:具体功能不能依赖整体的防护安全,对越权等操作内部在测试下吧。
问题2:对查询的编号进行加密或者对返回的数据进行加密都可,增加攻击成本。
问题3、4:对参数进行过滤吧
版权声明:转载请注明来源 咚咚呛@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:13
确认时间:2015-08-14 17:17
厂商回复:
CNVD确认所述情况,已经转由CNCERT向银行业信息化主管部门通报,由其后续协调网站管理单位处置。
最新状态:
暂无