WordPress 4.7.0及4.7.1存在越权漏洞,官方已出补丁
在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,如下图所示
如果想成功利用漏洞,必须绕过权限管理,也就是绕过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判定绕过权限检查。
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平拉美之行的三个“一” 7923551
- 2 微信或史诗级“瘦身” 内存有救了 7922895
- 3 男子求助如何打开亡父遗留14年手机 7815994
- 4 中国主张成为G20峰会的一抹亮色 7705787
- 5 中国对日本等国试行免签 7684679
- 6 7万余件儿童羽绒服里没有真羽绒 7553727
- 7 女生半裸遭男保洁刷卡闯入 酒店回应 7458171
- 8 70多辆小米SU7同一天撞墙撞柱 7397208
- 9 操纵股价 2人被证监会罚没近3.35亿 7268615
- 10 千年古镇“因网而变、因数而兴” 7110841