前言
WordPress 是使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站,也可以把 WordPress 当作一个内容管理系统( CMS )来使用。
WordPress 经常爆出漏洞基本都是它的插件存在安全问题。
漏洞复现
首先搭建 WordPress ,我的版本是 4.4 。然后进入后台下载插件 Quizlord ,版本是 2.0 。


下载、安装完成后,需要点击启用插件。

根据 exploit-db 给出的漏洞详情,找到触发漏洞的位置。

进入后台选择 Quizlord 插件。

此时浏览器的地址栏正好对应 POC 中的 referer 内容,现在只要使用火狐插件 hackbar 并根据 POC 构造 POST 请求。

点击 execute 即可发送该 POST 请求。

请求成功后,返回是一个空白页。

返回上一页并刷新即可触发该漏洞。

通过复现这个漏洞,我们可以知道它属于后台存储型 XSS ,且它的危害其实并不是很大。
需要进入后台,因此必须得知道后台用户的账号和密码。
下面我们来简单分析一下漏洞的成因。
漏洞成因分析
WordPress 插件源码位置:
\wp4_4\wp-content\plugins\
进入 Quizlord 插件目录,找到 quizlord.php 文件。

下图是 quizlord.php 文件的内容。

根据 POC 快速定位到函数。发现 POST 传入的数据并没有被程序过滤就写入了数据库中。

修复方案
利用 htmlentities() 函数转义 html 实体。

再次提交 POC 后,无法触发 XSS 漏洞。

参考自:
- https://www.exploit-db.com/exploits/45307/
转载自:
- https://www.freebuf.com/vuls/189814.html
发表评论?