WordPress Slimstat插件存储型XSS漏洞

作者:   深圳市网安计算机安全检测技术有限公司 2019/05/27 10:05:04 118次阅读 国际
文章来源:https://www.4hou.com/vulnerable/18192.html

       Slimstat 是WordPress的一个插件,目前安装量已经超过10万,该插件允许网站收集分析数据。该插件会追踪浏览器和操作系统的特定信息,并利用网页访问来优化网站分析技术。

       研究人员发现Slimstat插件的管理员dashboard存在非授权的存储型XSS漏洞。该漏洞的利用等级为容易,可以远程利用。版本号低于4.8.1的插件都该漏洞的影响,4.8.1版本中修复了该漏洞。

概述

       该漏洞允许访问者在插件的access log功能中注入任意JS代码,access log功能在插件的access log和登陆后的默认页面admin dashboard index都可见。

WordPress Slimstat插件存储型XSS漏洞

Admin dashboard index

       使用access log,就可以看到用户访问网站的详细情况,包括ip地址、使用的操作系统、使用的浏览器和浏览器安装的插件等。客户端脚本可以对客户端的信息进行指纹操作,然后执行到插件的请求以给出自己的属性。

       恶意用户可以假装浏览器有某个插件来伪造分析请求,以在插件access log中注入任意代码。这在管理员登陆后就会自行。

技术细节

       插件的期望值是默认支持的浏览器插件,比如pdfviewer, flash ,java。

       插件的特征会使用 strip_tags php方法来进行处理,移除原始插件值的标签。

WordPress Slimstat插件存储型XSS漏洞

       在查看access log记录的细节时,其中一个细节是安装的插件的图片,比如下图中的pdf viewer。

WordPress Slimstat插件存储型XSS漏洞

       下面介绍插件的图片是如何生成的,其中$a_plugin就表示该插件:

WordPress Slimstat插件存储型XSS漏洞

       因为该插件使用strip_tags处理过,并注入到一个属性中,因此可以使用一个单引号来进行逃逸(绕过),并添加一个事件处理器。将插件部分变成plugin’onerror=’alert(document.domain),生成的HTML代码如下所示:

WordPress Slimstat插件存储型XSS漏洞

       因为图片是无效的,因此会触发onerror event事件,导致存储型XSS攻击。

建议

       研究人员建议使用受影响版本插件的用户尽快更新最新版插件。如果没有条件更新,研究人员建议开启防火墙等安全技术手段来对该漏洞进行安全防护。

本文翻译自:https://blog.sucuri.net/2019/05/slimstat-stored-xss-from-visitors.html如若转载,请注明原文地址: https://www.4hou.com/vulnerable/18192.html


指导单位
广东省公安厅网络警察总队 广东省信息安全等级保护协调小组办公室