漏洞概要
关注数(24)
关注此漏洞
漏洞标题:P2P金融安全之贵阳银行直销银行任意账户登录
提交时间:2016-03-28 20:00
修复时间:2016-05-15 11:20
公开时间:2016-05-15 11:20
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:15
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
Tags标签:
无
漏洞详情
披露状态:
2016-03-28: 细节已通知厂商并且等待厂商处理中
2016-03-31: 厂商已经确认,细节仅向厂商公开
2016-04-10: 细节向核心白帽子及相关领域专家公开
2016-04-20: 细节向普通白帽子公开
2016-04-30: 细节向实习白帽子公开
2016-05-15: 细节向公众公开
简要描述:
这个洞有点意思,很有特色的一个洞,大家可以关注下。此次风险影响贵阳银行直销银行的所有账户。
详细说明:
首先先说这个洞特色在哪里,特色在它的验证方式上。漏洞利用必须要具有被攻击者的姓名及身份证号,故此处风险有所缩小,建议配合其他漏洞一同使用。漏洞利用过程如下:
1、首先正常操作密码找回功能,可知其流程如下,
填写自己真实的姓名及身份证号码,
填写正确的短信验证码,如图:
填写需要篡改的密码,且记录下来,如“456abc”等,并进行抓包,如图:
数据包如下,记录下来
通过分析测试发现在post参数中并未包含关键因子也就是用户辨认的参数,当然有有可能加密到参数NewPassword、ConfirmPassword内,但根据以往的经验来看可能性不大,故怀疑到唯一可变数据
JSESSIONID2上,有多个测试可知问题确实处在参数JSESSIONID2上,利用过程如下,
1)在忘记密码功能中,填入被攻击者的姓名及身份证,
2)手机号码会从服务端返回过来,点击获取手机验证码后,任意填写如123456,并进行抓包,且此包不能Forward,也就是不能放行,且只有此时的JSESSIONID2的值才可以正常用(JSESSIONID2根据流程的不同在不停的变化中),表示此时的JSESSIONID2将用在最好的身份校验上。
如图:
提取数据包中的JSESSIONID2,带入到之前我们密码重置的数据包中组成新的数据包,如:
对此包进行重放可以达到篡改相应账户的目的,注:每组数据包有密码超时时间,大概在几分钟,所以整个操作过程要在短时间内完成,否则会提示“密码输入超时”,测试时走了不少弯路。
登录如下:由于是新申请用户未绑定银行卡,故登录后如下,成功登录
漏洞证明:
修复方案:
建议就别采用JSESSIONID判断机制了,短信验证码及重置密码一起绑定校验挺好的。
版权声明:转载请注明来源 咚咚呛@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2016-03-31 11:19
厂商回复:
CNVD确认未复现所述情况,已经转由CNCERT向银行业信息化主管部门通报,并抄报贵州分中心协助处置,由其后续协调网站管理单位处置。
最新状态:
暂无