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

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

缺陷编号:wooyun-2015-0118348

漏洞标题:金融小能手之某银行(看我如何玩转某银行网银查看他人数据越权操作等打包)

相关厂商:大连银行

漏洞作者: 咚咚呛

提交时间:2015-06-05 09:14

修复时间:2015-07-25 08:34

公开时间:2015-07-25 08:34

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

大连银行躺枪了,本来测着平安银行来着,结果我媳妇回家说刚办了个大连银行,顺带测了下。
各种问题吧,包含查询任意账户交易详情、任意修改他人账户信息并盗cookie(只要你登陆了必中)、大量XSS、任意工资查询等等吧!

详细说明:

直接写我的测试过程吧,写的有点乱,不过都是随手写的,讲究这看吧!
1、查询任意账户交易明细
在账户资金变动查询功能中,功能本身是具有权限判断机制的,但在下载时链接:
https://ibank.bankofdl.com/perbank/downloadTransferList.do
参数:payAccount 缺乏判断,直接改银行卡号就可以查询相应的交易的细节。
如构造request,账户在网上搜了一个,如6229934110216248671,这里开始时间和结束时间随意填写,可以突破客户端的3个月时间的限制:

1.jpg


2.jpg


可以看到如下时间2014.1.6-2015.6.4的账户变动详情。

3.jpg


4.jpg


2、XSS跨站脚本
功能点:我要赚钱-储蓄-录入信息
链接:
https://ibank.bankofdl.com/perbank/showBuySavingsConfirmPage.do
参数:contractFlag、savingPeriod等等

5.jpg


3、XSS跨站脚本
功能点:我要赚钱-理财-额度查询
链接:
https://ibank.bankofdl.com/perbank/queryProductLimit.do
说明下,本身链接里是不存在xss的,但是发现返回数据包中Response中存在windowId返回值,如下:

6.jpg


给Request添加参数windowId=<script>alert(1)</script>,把post包改为GET,去掉EMP_SID就如下链接(不需要登陆也可以执行js):
https://ibank.bankofdl.com/perbank/queryProductLimit.do?PrdCode=1501173&currentBusinessCode=01000806&EMP_SID=&responseFormat=JSON&channel=1101&version=stanver&windowId=<script>alert(1)</script>

7.jpg


4、XSS跨站脚本
链接:
https://ibank.bankofdl.com/perbank/querySingleBalanceDL.do?accountNo=6229934110216248671&currentBusinessCode=00000504&windowId=1111<script>alert(1)</script>&logRecordFlag=1&EMP_SID=&responseFormat=JSON&channel=1101&version=stanver
参数:windowId(不需要登陆,这个参数好像是通用的,大量的链接里都出现了,这个链接只是举例说明)
直接赋值,GET改为POST直接执行js。其实问题出在Content-Type: text/html,本来返回值是json格式的,但是页面写为了text/html,就直接突破json了。

8.jpg


5、越权查询工资清单
功能点:查询中-特殊业务查询-工资单查询
链接:https://ibank.bankofdl.com/perbank/payrollQuery.do 参数:queryAccNo
本身功能是这样子的我这里的由于没有信息所有事这样子的:

9.jpg


10.jpg


试了多个都是没有数据,一狠心跑末尾3位数1000个,如图:

11.jpg


都是这样子,就在要放弃的时候有一个返回值明显与其他的不一样。如图:

12.jpg


13.jpg


篡改数据后解析后是这样子的:

15.jpg


这里虽说金额都为0.00,但是我有理由相信存在越权查询工资的情况,且时间可以随意制定,只是遍历账户的查询的问题。
6、任意修改他人账户信息(可造成存储型首页XSS)
功能点:我的账户-账户别名设置
链接:https://ibank.bankofdl.com/perbank/modifyAlias.do
参数:accountAlias赋值:11111<script>alert(1)</script>
https://ibank.bankofdl.com/perbank/modifyAlias.do?currentBusinessCode=00000503&accountNo=6230700101500120817&accountAlias=1111<script>alert(1)</script>&logRecordFlag=1&EMP_SID=xxxxx(不好意思此处已删除)&responseFormat=JSON&channel=1101&version=stanver

16.jpg


不仅是个反射还是个存储型,之后每次访问都会触发,且还是个CSRF,比如在内网抓住了session,可以直接构造此链接,没有token限制,CSRF+存储型首页XSS是不是危害性更大点:

17.jpg


我操,玩出个更high的,直接高潮了,可以直接改他人的别名。
比如账户:6229934110216248671举例,直接成功,我是不是可以直接写xss玩了,是不是可以通杀所有账户了!!!!!!!

18.jpg


拿自己做个试验看看,比如随别找个XSS平台

19.jpg


就这样子COOKIES到手,就可以通杀所有账户了。

20.jpg


7、XSS跨站脚本
功能点:预留信息验证
链接:
https://ibank.bankofdl.com/perbank/preSettingMessageUpdate.do?ec=0&em=&newCustomerMessage=2111"><script>alert(1)</script>&customerMessage=&privateQuestion=&privateQuestionAnswer=&flag=&sequenceNo=1000000000009133717&windowId=44b68d52-b1e4-b520-bbbc-aa44383f1a37&currentBusinessCode=00500200&passwordEncrypted=&security=00000&tokenType=1&mvcId=ae4e3671-7498-20a6-e2fb-3a4207f8882d&logRecordFlag=1&EMP_SID=GIDIBQDWDZEMCWEGJEDDASHXCMCIAXHAEWIMBXCK&responseFormat=JSON&channel=1101&version=stanver
参数:newCustomerMessage,(注:由于服务端会对参数sequenceNo做校验,算是半个token,只校验是否重复出现,不会准确校验是否正确,据测是一直+1,故只需修改为任意值即可绕过)

21.jpg

漏洞证明:

总结下吧:系统其实本身的越权防护机制还是听完善的,不过对3功能4功能缺失的就很厉害了。针对XSS,代码上有一定的过滤,且成功的对影响了渗透测试,但是由于对JSON返回页面的不安全配置,造成XSS通杀,且不需要登陆权限。
我以上只是简单测试了一下,由于是新卡很多数据都不存在,对测试会造成很大影响。所以希望行方谨慎对待,还有一点要提下,对外转账的金额以及账户是可以篡改的,由于U盾是后加密所以可以绕过U盾的加密篡改成功,此漏洞不适用于乌云,但121文件中明确规定了金融领域对此问题的要求,所以这里要提下。不好意思这次你们中枪了。。。。。
让我吐槽下乌云:要是能写个解析word的就好了,一般渗透记录都是随手记录在word中的,且截图都是直接粘贴进去了,在写详细说明的时候特别的蛋疼。 还有我一直没搞明白详细说明跟漏洞证明有啥子关系。。。这玩意是不是性质有点重叠!

修复方案:

详细说明里讲的很清楚了,程序员应该会修复。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-06-10 08:32

厂商回复:

CNVD确认并复现所述情况,已经转由CNCERT下发给辽宁分中心,由其后续协调网站管理单位处置.按多处风险进行评分,rank 20.相关风险也需引起其他同行业单位重视,建立加精华. @xsser @疯狗

最新状态:

暂无


漏洞评价:

评论

  1. 2015-06-05 09:58 | 高小厨 ( 普通白帽子 | Rank:814 漏洞数:74 | 不会吹牛的小二不是好厨子!)

    那么问题来了,大连银行,你招安全工程师么

  2. 2015-06-05 11:00 | 光刃 ( 普通白帽子 | Rank:200 漏洞数:24 | 萝卜白菜保平安)

    膜拜 咚咚呛大牛

  3. 2015-06-05 11:04 | Blunber ( 实习白帽子 | Rank:84 漏洞数:13 )

    时隔多年,@咚咚呛 光荣回归啊!!

  4. 2015-06-05 11:06 | 光刃 ( 普通白帽子 | Rank:200 漏洞数:24 | 萝卜白菜保平安)

    @Blunber 大牛你也在这里?好巧呀

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

    @咚咚呛 求送50万 我回家娶媳妇儿

  6. 2015-06-05 11:41 | charles ( 路人 | Rank:6 漏洞数:4 | 研究web安全,0day,漏洞挖掘,关注国内安全动...)

    @坏虾 你来活了赶紧冲去;

  7. 2015-06-05 15:36 | Drizzle.Risk ( 普通白帽子 | Rank:255 漏洞数:19 | You have an error in your SQL syntax; ch...)

    小能手..

  8. 2015-06-05 20:45 | pikachu ( 实习白帽子 | Rank:48 漏洞数:6 | wooyun)

    吓死我了 去银行查了一下 一块五还在卡上

  9. 2015-06-09 10:58 | 坏虾 ( 路人 | Rank:28 漏洞数:8 | From Internet,For Internet……BY:坏虾)

    @charles 你个大傻屌

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

    @xsser @疯狗 小闪电啊小闪电~~~~

  11. 2015-06-30 08:59 | 高小厨 ( 普通白帽子 | Rank:814 漏洞数:74 | 不会吹牛的小二不是好厨子!)

    我擦,这个应该给个闪电,尼玛绝对通杀