使用Gutenberg编辑器的网站(和WordPress 5.0到5.2.2相关联)或因一个XSS漏洞而被攻击者非法接管。根据近期的一项安全分析,WordPress中一个刚刚修复的XSS漏洞可造成代码执行。
这个漏洞存在于WordPress内置的编辑器Gutenberg中,主要涉及WordPress 5.0或更高版本。FortiGuard Labs的威胁研究人员Zhouyuan Yang表示,如果文章中包含一条“Shortcode”的错误信息,则Gutenberg无法过滤文章的javascript/HTML代码。
Shortcode本质上是WordPress用户用来嵌入文件或创建对象的快捷方式,这些对象和文件通常涉及复杂的代码,而Shortcode数据块可以通过单击Gutenberg编辑器中的“Add Block”按钮添加到页面中。
然而,根据分析,当将某些被编码的HTML字符(如<
)添加到Shortcode数据块中时,就会发生某些错误。
“Wordpress预览文章时会把<
解码为<
,此时XSS过滤器毫无反应。相关PoC:><img src=1 on error=prompt(1)>
。
最后,任何阅读这篇文章的网站访问者都会被XSS攻击。
因此对于攻击者来说,他只要往目标网站上传一个恶意页面,等人中招即可。
根据OWASP的解释,存储型XSS是非常危险的漏洞,一次攻击将造成持久的影响。
最终,NIST(National Institute of Standards and Technology)将该漏洞的定级为6.1,是一个中度威胁的漏洞。
此外,Yang还表示:“如果受害者拥有很高的权限,比如管理员权限,攻击者甚至可以直接攻击网站服务器。”
目前Yang已有一个PoC,可以利用XSS漏洞将攻击者指定的帐户变成的WordPress管理员。
攻击者先向/wordpress/wp-admin/user-new
发送GET请求,提取当前的nonce
值,再使用这个nonce
值构造一个POST请求,创建一个具有管理员权限的新用户。最后攻击者可以使用这个新管理员帐户将现有的php文件修改为webshell,控制web服务器。
FortiGuard Labs已就此漏洞联系了WordPress,很快在本月的WordPress5.2.3版本中此漏洞被修复。这个漏洞(标记为CVE-2019-16219)影响了WordPress的从5.0到5.0.4、5.1和5.1.1版本,漏洞详细信息已公开。
这也不是近期WordPress上唯一的XSS漏洞,此次更新还修复上传预览、评论、媒体文件上传、主面板上的XSS漏洞。
WordPress中的XSS漏洞和各种插件漏洞继续困扰着这个世界上最流行的内容管理系统(占全球CMS市场份额的60.4%)。互联网上大约三分之一的网站都是基于WordPress建立的。
在今年7月,WordPress插件WP Statistics
也曝出了XSS漏洞,也可导致整个网站被接管;今年3月,有研究人员在WordPress的评论系统中也发现了存储型XSS漏洞。
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://threatpost.com/wordpress-xss-drive-by-code-execution/148324/