共计 1283 个字符,预计需要花费 4 分钟才能阅读完成。
WordPress 著名插件 Google Analytics by Yoast 插件中曝出存储型 XSS 漏洞,该漏洞能够让未被授权的攻击者在 WordPress 管理面板中存储任何 HTML 代码,包括 JavaScript。管理员查看插件的设置面板是 JavaScript 就会被触发,不需要别的交互行为。
漏洞描述
Google Analytics by Yoast是一款用于监视网站流量的 WordPress 插件。这款插件有大约 7 百万的下载量,是 最受欢迎 的 WP 插件之一。尽管插件代码从 2014 年开始被 例行安全审计 , 但还是出现了这个漏洞,这次的这个漏洞非常危险,并且显然是 Yoast WP 插件中 爆出 的最严重的漏洞。
对于攻击者来说,利用这个漏洞在服务器端执行代码相对简单。在默认 WP 配置下,恶意的用户可以利用这个漏洞通过插件 / 主题编辑器在服务器上写 PHP 文件(见视频演示)。或者攻击者也可以更改管理员密码,创建管理员帐号,或者做其他任何服务器网站上已登录用户所能做的事情。
这个漏洞今年 1 月下旬由 Klikki Oy 发现的,但是当时还不知道具体的影响,直到三月一份完整的调查结果出炉。现在插件已有更新修复这一问题。
漏洞细节
漏洞的影响是两个问题的结合。首先,缺少访问控制导致未被授权的用户可以修改有关插件的部分设置。攻击者可以覆盖已有的 OAuth2 验证信息,验证信息在插件中被用作获得 Google 分析的数据,因此,攻击者可以在插件中使用自己的 Google 分析账号。
其次,插件中有一个 HTML 下拉菜单,菜单基于从 Google 分析下载的数据。数据没有进行处理或者 HTML 转义。如果攻击者在 Google 分析账号设置中输入
这样的脚本会在管理员浏览面板中的设置页面时弹窗。
真实的攻击可能会使用 src 属性从外部网站加载更加复杂的脚本。可以使用 ajax 调用加载提交管理表单,可以使用插件编辑器写入服务器端 PHP 代码,并执行。
解决方案
Yoast 于 2015 年 3 月 18 日收到提醒。第二天 Yoast 发布了更新(5.3.3)。
参考来源Klikki Oy,译 /Sphinx,文章有修改,转载请注明来自 Freebuf 黑客与极客(FreeBuf.COM)