漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-022595
漏洞标题:浏览器解析问题造成的存储型跨站漏洞
相关厂商:DVBBS
漏洞作者: 杀戮
提交时间:2013-04-27 11:54
修复时间:2013-04-28 21:57
公开时间:2013-04-28 21:57
漏洞类型:设计错误/逻辑缺陷
危害等级:中
自评Rank:20
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-04-27: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-04-28: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
就是要带感~~~
据说DVBBS自己都懒得维护,哥您看着给点Rank就行了。。。。。。。
详细说明:
先说说浏览器的对于标签的解析。
1.解析中解析到<b>的时候先把文本段1入栈。
2.解析到b的结束标签后把文本2入栈。
3.解析出a的结束标签再把文本3入栈。
所以一些流行的技术是通过一些优先级高的标签截断。
这里谈的是关于DOM解析和渲染造成的XSS。
DOM渲染就是,标签和属性正确闭合。
先来看一个例子,DVBBS的
对输出在属性的内容习惯性的做法是编码单引号和双引号,这里的例子将两者都编码了。
现在我们看下如何绕过,一般编码了这两玩意都没救了,但是结合下浏览器的特性。
我们输入
这是为什么,很简单。
浏览器解析的时候遇到
视为标签,然后就会去试图找到结束标签。
我们在属性中插入 <a 会被浏览器视为标签 然后我们输入<a test= test就会被视为属性名,因为DOM的渲染,所以test标签在重构的时候自动闭合 但是然后前面的属性就会被闭合掉 就是test=重构的时候成为了test="" 但是因为输出在属性中 所以 src会被闭合,我们后面输入的onclick=alert(1);// 会被再次闭合 XSS插入成功。
漏洞证明:
上面上面
修复方案:
这是广告
http://t.qq.com/SlaughterSain
版权声明:转载请注明来源 杀戮@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝