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

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

缺陷编号:wooyun-2015-093787

漏洞标题:新浪云应用WordPress有Xss漏洞

相关厂商:新浪

漏洞作者: mikecracker

提交时间:2015-01-25 22:12

修复时间:2015-04-25 22:14

公开时间:2015-04-25 22:14

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

危害等级:中

自评Rank:6

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-01-25: 细节已通知厂商并且等待厂商处理中
2015-01-28: 厂商已经确认,细节仅向厂商公开
2015-01-31: 细节向第三方安全合作伙伴开放
2015-03-24: 细节向核心白帽子及相关领域专家公开
2015-04-03: 细节向普通白帽子公开
2015-04-13: 细节向实习白帽子公开
2015-04-25: 细节向公众公开

简要描述:

新浪云提供的中文WordPress3.4版本较老,存在XSS漏洞。用户不登陆即可在“评论”中注入XSS,当管理员审核评论时,评论中的js代码会自动在其Web浏览器上运行。

详细说明:

2014年11月21日Jouko Pynnonen发布了WordPress跨站脚本攻击漏洞
如下是新浪云提供的WordPress

创建应用 - Sina App Engine.png


漏洞出在评论界面

a.png


留言是允许一些html标签的,比如<a><b><CODE>,<a>允许href属性,然而onmouseover属性是不允许的。
但是在一个字符串格式化函数wptexturize()上出现了问题,这个函数会在每一个留言上执行,函数的功能是把当前的字符转义成html实体,比如把“”转义为&#8220;&#8221;。为了防止干扰html格式,wptexturize()首先会以html标签为标准把文本分成若干段,除了html标签,还有方括号标签比如[code]。分割的功能是由下列正则表达式完成的。
在wp-includes/formatting.php代码的第156行:

$textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1,                         
PREG_SPLIT_DELIM_CAPTURE);


但是如果文章中混合着尖括号<>和方括号[]会造成转义混淆,导致部分代码没有转义。
攻击者可以通过这个漏洞在WordPress允许的HTML标签中写入任何样式属性形成XSS攻击,比如通过建立一个透明的标签覆盖窗口,强行捕捉onmouseover事件。
当然,也可以利用跨站脚本伪造请求更改登录密码。

漏洞证明:

我们在评论中注入XSS

[<a href="test" title="]"></a>[" <!-- onmouseover=alert(/xss/)//><!-- -->xss<a></a>]


以下是新浪云应用提供的WordPress

b.png


onmouseover=之后可以运行任何JS代码,如果管理员鼠标经过此处,代码就会运行
如图:

d.png

修复方案:


在wp-includes/formatting.php开头增加一个返回参数避免这个问题:
function wptexturize($text) {
return $text; // ADD THIS LINE
global $wp_cockneyreplace;
②WordPress官方已经在4.0.1以上版本中修复该漏洞,新浪云方面应升级该应用

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2015-01-28 10:26

厂商回复:

感谢关注新浪安全,漏洞修复中。

最新状态:

暂无