WordPress 4.0以下版本存在跨站脚本漏洞

所属分类: 网络安全 / 漏洞分析 阅读数: 196
收藏 0 赞 0 分享

QQ截图20141128094917

该漏洞是由芬兰IT公司Klikki Oy的CEO Jouko Pynnonen发现的,只存在于Wordpress4.0以下的版本中。据调查得知全球有86%的Wordpress网站都感染了这一漏洞,也就意味着全球数百万的网站都存在着潜在的危险。一些知名网站也使用了Wordpress软件,如Time、UPS、NBC Sports、CNN、Techcrunch 和FreeBuf:)

漏洞概述

WordPress中存在一系列的跨站脚本漏洞,攻击者利用跨站脚本伪造请求以欺骗用户更改登录密码,或者盗取管理员权限。

如Jouko Pynnonen解释道:

当博客管理员查看评论时,评论中的漏洞代码会自动在其Web浏览器上运行。然后恶意代码会偷偷接管管理员账户,从而执行管理员操作。

为了证明他们的观点,研究人员创建了一个漏洞利用程序(exploits)。利用这个exploits,他们创建了一个新的WordPress管理员账户,改变了当前管理员密码,并在服务器上执行了攻击PHP代码。

漏洞分析

问题出在wordpress的留言处,通常情况下留言是允许一些html标签的,比如、等等,然而标签中有一些属性是在白名单里的,比如标签允许href属性,但是onmouseover属性是不允许的。

但是在一个字符串格式化函数wptexturize()上出现了问题,这个函数会在每一个留言上执行,函数的功能是把当前的字符转义成html实体,比如把“”转义为“”。为了防止干扰html格式,wptexturize()首先会以html标签为标准把文本分成若干段,除了html标签,还有方括号标签比如[code]。分割的功能是由下列正则表达式完成的。

在wp-includes/formatting.php代码的第156行:

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

PREG_SPLIT_DELIM_CAPTURE);

但是如果文章中混合着尖括号<>和方括号[]会造成转义混淆,导致部分代码没有转义。

攻击者可以通过这个漏洞在允许的HTML标签中注入样式参数形成XSS攻击,比如通过建立一个透明的标签覆盖窗口,捕捉onmouseover事件。

漏洞利用测试

以下代码可以用于测试

[<a href="test" title="]">[" NOT VULNERABLE]

修复建议

这一漏洞很容易被攻击者利用,WordPress官方建议用户尽快更新补丁,而在新版WordPress 4.0.1已经修复了所有的漏洞。

WordPress官方于11月20日发布了官方补丁,目前大多数的WordPress网站上都会收到补丁更新提醒通知;如果有一些其他原因使得你无法更新补丁,Klikki Oy公司还提供了另外一个解决方案(workaround)可以修复该漏洞。

wptexturize可以通过在wp-includes/formatting.php开头增加一个返回参数避免这个问题:

function wptexturize($text) {        

return $text;                  // ADD THIS LINE        

global $wp_cockneyreplace;

额外提醒

如果你使用的是WP-Statistics WordPress插件,你也应该更新补丁。因为这些插件上也存在跨站脚本漏洞,攻击者同样可以实施攻击。

更多精彩内容其他人还在看

万能密码漏洞以及修复

  万能密码漏洞以及修复   记得几年前要入侵一个企业网站超级简单   一般只需要找到后台 还有后台通常是www.xxx.com/admin/   然后账号 密码都是'or'='or' 就进去   现在好像有几个也可以用 但是已经没那么普及了   如果网站还出现这种“
收藏 0 赞 0 分享

cyask知道系统collect.php页面存在越权漏洞

影响版本: Cyask 程序介绍: Cyask国内较为多人使用的仿百度风格的Ask系统。 漏洞分析: 从Collect.php代码当中可以看到 else   {     /*  
收藏 0 赞 0 分享

恒浪IMS整合系统V4.1 多文件存在SQL注入漏洞

影响版本: HoWave V4.1 ASP 漏洞描述: 在文件inc/ hl_manage.inc中: adminUserId= Request.Cookies("hl_manage")("username")  
收藏 0 赞 0 分享

WINDOWS 7 RC 7100 GDI驱动Win32k.sys内核D.O.S漏洞

感谢:Iceboy发现此问题并提供DUMP 漏洞厂商及产品:Microsoft Windows 7 rc 7100 090421 存在漏洞组件:win32k.sys Timestamp :49ee8dc8 存在漏洞函数:NtUserGetDc/NtUserGetDcEx 漏洞描
收藏 0 赞 0 分享

Gh0st控制端逻辑漏洞

严重程度:高 威胁程度:控制远程主机 错误类型:逻辑错误 利用方式:主机模式   受影响系统 Gh0st3.6之前所有版本 未影响系统 未知 详细描述 Gh0st 发现漏洞一个逻辑漏洞,这些漏洞可以被用户利用,可以从被控端向控制端发送任意文件到任意位置。 测试
收藏 0 赞 0 分享

微软IIS6漏洞:服务器敏感信息易被窃

近日,安全专家对使用微软Internet信息服务IIS 6的管理员发出警告,声称Web服务器很容易受到攻击并暴露出密码保护的文件和文件夹。   据悉,基于WebDAV协议的部分进程命令中存在这种漏洞。通过给Web地址添加一些Unicode字符,黑客就可以访问这些敏感文件&mda
收藏 0 赞 0 分享

校内网最新 xss Cookies得到密码

From:http://t00ls.net/viewthread.php?tid=1323&highlight= 校内网在发blog时对插入图片过滤不严格,存在xss漏洞. 在发blog时将插入图片URL写为如下代码即可触发:普通浏览复制代码打印代码 javas
收藏 0 赞 0 分享

phpcms2008 注入漏洞

这个是最新有人发现的 该漏洞文件:ask/search_ajax.php 漏洞说明: /ask/search_ajax.php Code: if($q) { $where = " title LIKE '%$q%' AND status = 5&qu
收藏 0 赞 0 分享

PHPWIND & DISCUZ! CSRF漏洞

PHPWIND & DISCUZ! CSRF漏洞影响版本: Discuz! 6.0.0 & 6.1.0 & 7.0.0 PHPWIND 6.0 & 6.3 & 7.0 漏洞描述: PHPWIND & DISCUZ!存在CSRF漏洞
收藏 0 赞 0 分享

phpwin7.0拿shell的方法

事发一星期前,在入侵一个PHPWIND论坛时的成果,适用于PHPWIND不能上传,而网上盛传的三种拿SEHLL方法都无效,可以一试,应该算是PHPWIND后台的漏洞 准备工具:winsock专家 v0.6 betan1 一只;UE-32.EXE一只;NC.EXE一只,电脑一台(
收藏 0 赞 0 分享
查看更多