wordpress rest api 漏洞又来了CVE-2017-5487 上次是修改文章内容这次可是泄露用户数据

简介:

在2月份的时候, wordpress rest api 曾经爆出过越权漏洞 ,结果是黑客可以修改文章内容。3月3日,REST API又出现了越权漏洞,成功的利用这个漏洞,可以绕过管理员权限泄露用户数据。

CVE-2017-5487影响范围

影响版本WordPress 4.7.0,目前poc已经在exploitdb上公开

https://www.exploit-db.com/exploits/41497/

POC看起来比较简单,就是调用了wordpress的rest api接口进行users查询

问题出在检查用户的权限上

通过检查代码,可以看到用户请求首先进入get_items_permissions_check模块进行权限检查,当请求users参数时,用来检查请求是否有读的权限,否则爆出WP_Error错误。

绿盟科技的研究员称,但在利用漏洞之后,

有意思的事情发生了,我们什么事情也没做,竟然完美的避开了权限检查的三个判定,接下来进入下个环节get_items函数,检索所有的用户。

但查询返回的可以查询的用户信息是有约束条件的,这里可以查询的用户发表过公开的文章,包括日志、页面或者附件。

那是因为REST API不安全吗?

查询一下历史记录就可以看到 REST API漏洞出过不少次,那是因为这东西设计的很烂吗?也不能完全这么说,还可以通过安全措施来降低安全风险的,这个方面可以看看这份 REST API 安全设计指南


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

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

原文链接:http://toutiao.secjia.com/wordpress-rest-api-cve-2017-5487

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

相关文章
|
1月前
|
缓存 API 网络架构
掌握现代API开发:GraphQL vs REST
【10月更文挑战第24天】本文深入探讨了现代API开发中两种主流技术——GraphQL和REST的设计理念、技术特点及实际开发中的对比分析。GraphQL通过声明式数据请求和强类型系统提供更高的灵活性和性能,而REST则以其无状态特性和成熟的生态系统见长。文章还讨论了两者在客户端-服务器交互、安全性和工具支持方面的优劣,帮助开发者根据项目需求做出明智选择。
|
3月前
|
JSON 中间件 API
开发REST API3-11
开发REST API3-11
|
3月前
|
JSON JavaScript API
编写REST API
编写REST API
65 2
|
3月前
|
JSON API 数据库
从零到英雄?一篇文章带你搞定Python Web开发中的RESTful API实现!
在Python的Web开发领域中,RESTful API是核心技能之一。本教程将从零开始,通过实战案例教你如何使用Flask框架搭建RESTful API。首先确保已安装Python和Flask,接着通过创建一个简单的用户管理系统,逐步实现用户信息的增删改查(CRUD)操作。我们将定义路由并处理HTTP请求,最终构建出功能完整的Web服务。无论是初学者还是有经验的开发者,都能从中受益,迈出成为Web开发高手的重要一步。
64 4
|
2月前
|
Java API Maven
使用 Smart-doc 记录 Spring REST API
使用 Smart-doc 记录 Spring REST API
59 0
|
3月前
CoreDownload - WordPress文章下载增强插件v1.0.6
CoreDownload 是一款高级WordPress 下载增强插件,支持几乎所有网盘,为WordPress增加任意下载功能,目前免费提供使用。 安装插件后,在设置中全局开启。然后编辑文章,可以在下面找到CoreDownload下载增强功能。
36 0
CoreDownload - WordPress文章下载增强插件v1.0.6
|
4月前
|
XML 安全 API
REST 和 SOAP API 有什么区别?
【8月更文挑战第31天】
231 0
|
9天前
|
JSON API 开发工具
淘宝实时 API 接口丨淘宝商品详情接口(Taobao.item_get)
淘宝商品详情接口(Taobao.item_get)允许开发者获取商品的详细信息,包括基本信息、描述、卖家资料、图片、属性及销售情况等。开发者需注册账号、创建应用并获取API密钥,通过构建请求获取JSON格式数据,注意遵守平台规则,合理使用接口,确保数据准确性和时效性。
|
10天前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
50 5