博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WordPress 4.7.0及4.7.1存在越权漏洞 官方已出补丁 站长们尽快备份后升级吧
阅读量:7144 次
发布时间:2019-06-29

本文共 1550 字,大约阅读时间需要 5 分钟。

在WordPress 4.7.0-4.7.1版本中,存在着一个越权漏洞,成功的利用这个漏洞,可以绕过管理员权限对文章进行增删改查操作。官方已经发布补丁,请广大站长朋友们尽快备份后升级。

WordPress 4.7.1越权漏洞

WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统来使用。

WordPress 在4.7.0版本之后将REST API插件集成到默认功能之中。REST API为WordPress的使用者提供了一个方便快捷的管理接口。在WordPress 4.7.0-4.7.1版本中,存在着一个越权漏洞,成功的利用这个漏洞,可以绕过管理员权限对文章进行增删改查操作。

WordPress REST API

在正式的漏洞分析开始前,先来简单介绍下REST API的使用。Wordpress智库给出的介绍如下

WordPress正在朝着成为一个全堆栈式的应用框架发展,我们需要新的API。于是WordPress JSON REST API 项目诞生了,该项目的目的在于创造一个易于使用,易于理解和经过良好测试的框架来创建这些API,同时也为WordPress核心创建API。

这个插件(WordPress JSON REST API (WP API))提供了一个易于使用的REST API,让我们可以通过HTTP获取简单方便的JSON格式的数据,这些数据包括用户,文章,分类等等。获取或更新数据非常简单,只需要发送一个HTTP请求就可以了。

具体使用详情请参照REST API Handbook

https://developer.wordpress.org/rest-api/

WordPress 4.7.1越权漏洞分析

在使用api对文章进行操作之前,需要对操作进行授权,授权方式有三种:cookie、oauth和简单认证。如果不进行授权直接通过api对文章进行修改操作,会返回一个401,如下图所示

WordPress%20rest%20api%20authentication.如果想成功利用漏洞,必须绕过权限管理,也就是绕过update_item_permissions_check()模块,使其最终return true。

如果我们输入的url是这种形式

http://192.168.3.112/wordpress/index.php/wp-json/wp/v2/posts/1/?id=1grq

get_post()函数返回值一定为null,这样会使得$post值为null,回头来看update_item_permissions_check()函数,这时update_item_permissions_check()函数的返回值竟然为true了!

WordPress 4.7.1越权漏洞利用

目前已经有研究员在GitHub上给出相应的poc,链接如下

https://gist.github.com/leonjza/2244eb15510a0687ed93160c623762ab

WordPress 4.7.1越权漏洞修补

请尽快升级到WordPress 4.7.2!在4.7.2版本中,如果get_post()判定$post结果为 false,则直接返回$post,避免$post进入下层if判定绕过权限检查。

WordPress%20rest%20api%20fix.png

相关文章请参看

原文发布时间:2017年3月24日

本文由:绿盟科技博客 发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/wordpress-4-7-0-4-7-1-unauthorized-vulnerability

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

转载地址:http://dbzgl.baihongyu.com/

你可能感兴趣的文章
HTML5之Canvas绘图——Canvas画布调整之移动、缩放、旋转
查看>>
排查数据库性能的常用sql语句
查看>>
全排列
查看>>
Node.js&NPM的安装与配置(转)
查看>>
C# CRC16 查表法
查看>>
js中获取键盘事件
查看>>
面试(4)-spring-Spring面试题和答案
查看>>
请教 JTable 里的单元格如何使得双击进入单元格后,单元格的内容处于全选中状态...
查看>>
jQuery 各类判断函数汇总
查看>>
Android studio 分32位64位版本吗?
查看>>
UIcollectionView的使用(首页的搭建1)
查看>>
[原创]AM3352 + TPS65910 调试方法+调试记录
查看>>
.net基本数据类型操作
查看>>
docker 应用-2(Dockerfile 编写以及镜像保存提交)
查看>>
监控 Linux 性能的 18 个命令行工具
查看>>
3000本IT书籍下载地址
查看>>
VS2017 WinFrom打包设置与教程
查看>>
Cannot change version of project facet Dynamic Web Module to 3.0 requires Java 1.6 or newer 解决方案...
查看>>
数据库修改一个表中的字段值等于另一个表字段值
查看>>
mongodb pymongo.errors.CursorNotFound: Cursor not found, cursor id: 82792803897
查看>>