WordPress REST API 内容注入漏洞

1.漏洞信息:

WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。在4.7.0版本后,REST API插件的功能被集成到WordPress中,由此也引发了一些安全性问题。近日,一个由REST API引起的影响WorePress4.7.0和4.7.1版本的漏洞被披露,该漏洞可以导致WordPress所有文章内容可以未经验证被查看,修改,删除,甚至创建新的文章,危害巨大。

2.漏洞影响版本:

WordPress 4.7.0 WordPress 4.7.1

3.复现环境:

Apache2.4
PHP 7.0
WordPress 4.7.1

4.复现过程:

1.安装WordPress并配置REST API
①配置Apache+PHP+Mysql的运行环境,下载含有漏洞版本的WordPress(https://wordpress.org/wordpress-4.7.1.tar.gz)并安装。
②加载Apache的rewrite模块。
在Apache的配置文件中添加

并在主配置文件中设置对应的WEB目录的AllowOverride为All

③设置WordPress站点为固定链接
在Settings->Permalinks中的Common Settings设置为非Plain模式。例如下图,我们设置为Day and name。

2.漏洞复现
①根据REST API文档,修改文章内容的数据包构造如下:
可以看到,不带任何验证信息会提示不允许编辑文章

②构造可利用的数据包:
当url为/wp-json/wp/v2/posts/1?id=1a时,可以看到,已经成功跳过验证看到文章内容了。

PoC

参考链接

解决方案

升级WordPress到最新版(4.7.2)

ps:

这个漏洞其实早两天看见了,只是因为过年忙着就忘记了,没想到今天上线就看见被各路大神友情了一下,感谢没有破坏数据,同时漏洞时代的小伙伴也祝各路大神新年快乐,漏洞多多,当然别忘记分享给我们哦~


  原文链接:http://www.5kik.com/php0day/566.html

相关文章

发表评论:

验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。