首页
学习
活动
专区
圈层
工具
发布

新曝WordPress REST API内容注入漏洞详解

在4.7.0版本后,REST API插件的功能被集成到WordPress中,由此也引发了一些安全性问题。...近日,一个由REST API引起的影响WorePress4.7.0和4.7.1版本的漏洞被披露,该漏洞可以导致WordPress所有文章内容可以未经验证被查看,修改,删除,甚至创建新的文章,危害巨大。...复现环境: Apache 2.4 PHP 7.0 WordPress4.7.1 4.复现过程: (1) 安装WordPress并配置REST API ① 配置Apache+PHP+Mysql的运行环境,...这使攻击者可以发送/wp-json/wp/v2/posts/1234?id=12345helloworld这样的请求,这样会将12345helloworld分配到ID参数,这样包含的不仅仅是数字。...比如,你会发现以下代码片段会返回123: ? 这导致了非常危险的情形,即攻击者可以提交/wp-json/wp/v2/posts/123?id=456ABC这样的请求来对ID为456的帖子进行篡改。

3.4K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WordPress REST API 内容注入漏洞分析

    漏洞简介 在REST API自动包含在Wordpress4.7以上的版本,WordPress REST API提供了一组易于使用的HTTP端点,可以使用户以简单的JSON格式访问网站的数据,包括用户,帖子...上周,一个由REST API引起的影响WorePress4.7.0和4.7.1版本的漏洞被披露,该漏洞可以导致WordPress所有文章内容可以未经验证被查看,修改,删除,甚至创建新的文章,危害巨大。...控制器 WP-API中采用了控制器概念,为表示自愿端点的类提供了标准模式,所有资源端点都扩展WP_REST_Controller来保证其实现通用方法。...WP-API允许HTTP客户端对资源执行CRUD操作(创建,读取,更新,删除,这边只展示和漏洞相关的部分): GET /wp-json/wp/v2/posts获取帖子的集合: ?...而PHP类型转换的时候回出现这样的情况: ? 所以,也就是说,当攻击者发起/wp-json/wp/v2/posts/1?id=1hhh请求时,便是发起了对ID为1的文章的请求。

    4.1K70

    展示 Postlight 的 WordPress + React Starter Kit

    从那时起,你就可以开始从自己的 WordPress 站点引入信息,并根据自己的需要更改后端和前端。...你的网站或应用程序需要与一些 API 进行对话,你的 WordPress 内容只是其中之一,而使用 JavaScript 前端来做到这一点更简单。...你必须设置自定义帖子类型和自定义字段(Progressed Custom Fields Master 和自定义帖子类型 UI)的 WordPress 模块。...WordPress 模块在 WP REST 编程接口(ACF 到 WP 编程接口和 WP-REST 编程接口 V2 菜单)中发现那些自定义字段和 WordPress 菜单。...对于一些 WordPress 控制的语言环境,网站设计增强(网站改进)是主要的,而一些网络爬虫(如 Google 新闻)无法解析不是常规 HTML 的目标。

    1.7K31

    利用WordPress REST API 开发微信小程序从入门到放弃

    WordPress REST API WordPress 在4.4 版本开始推出了 REST API,如果你使用的是最新版本的WordPress应该会提供REST API的功能。...简单来说WordPress REST API,就是用浏览器通过http的方式访问WordPress提供的REST API 链接 ,可以获取WordPress网站的”内容”,这个”内容”是以json的格式返回到浏览器...有关WordPress REST API 详细的介绍详见链接:https://developer.wordpress.org/rest-api/ WordPress REST API 链接通常和WordPress.../wp/v2 通常 WordPress REST API 链接 是这样的: …/wp-json/wp/v2/posts ?...但是,我仍然希望通过阅读本文,对于想利用WordPress REST API 开发微信小程序的开发者,能有所帮助,而不是如本文标题所说的,看了文章反而想放弃了。

    3.9K70

    【Wordpress】5.2+ 版本文章发布、更新失败

    大胆尝试: 我们不妨打开控制台看一下,在更新文章或者发布文章的时候都发生了什么,如图,在保存文章的时候,发了一个 wp-json/wp/v2/posts/ 的请求,但是返回结果是 200(有的时候可能返回结果是...那我们不妨就百度一下,wp-json/wp/v2/posts/ 为什么不起作用? 虽然,并没有直接解决的方案,但是我们不难看出,搜索结果中绝大多数都提到了 rest api 的关键词。...简单地说,Rest Api 是一种软件架构风格、设计风格,而不是标准,提供了一组设计原则和约束条件。 ? 所以我们可以看看我们的主题或者插件是不是哪些地方对 Rest Api 做了什么修改或者限制?...WordPress 技巧:屏蔽 REST API ?...主题问题: 当然还有一些高级主题,在自己的配置中做了 屏蔽 REST API 的功能,需要自己查一下自己的主题中是否有下面代码: Shell // 屏蔽 REST API add_filter('rest_enabled

    1.4K20

    WordPress REST API 定制化输出

    WordPress 自4.7 版本后与时俱进推出了REST API,如此一来想象空间又扩展了许多,如今WordPress 可以完全作为后端数据驱动了。...本文通过几个例子展示如何定制化输出WordPress REST API 的相关数据。...秉承“如无必要,勿增实体”的原则,减少请求时候的数据量,可以通过下面的代码移除: // https://devework.com/wordpress-rest-api-dynamic-output.html...的相关字段,如果你需要输出对应文章下所有 post meta 字段,可以用下面的代码启用: // https://devework.com/wordpress-rest-api-dynamic-output.html...特定字段而非全部,则通过类似下面代码: // https://devework.com/wordpress-rest-api-dynamic-output.html function dw_rest_prepare_post

    2.6K90

    开发 | 无需后端编码,手把手教你把 WordPress 做成小程序

    小程序如何读取 WordPress 博客内容? WordPress 在 4.6 版本推出了 REST API。简单来说,它是一种通过 HTTP 请求完成的客户端与服务端数据交互方案。...有了 REST API,一个网站制作不同客户端(Android 或 iOS 的 app,以及微信小程序),而共享一个数据库成为了可能。 ?.../wp-json/wp/v2/ 是WordPress 定义的 REST API 路由(router)与版本号等的组合。 posts 在 WordPress 中,称为「终点」(endpoint)。...WordPress 的 REST API 已经很完善了,什么文章数据、页面数据、用户数据等都不在话下。...在这里,我们用到的 WordPress REST API 就是 your-site.com/wp-json/wp/v2/posts?per_page={num}&page={num}。

    2.4K30

    针对WordPress的攻击调查

    针对CMS平台的攻击时有发生,本文分析了针对WordPress的不同类型的攻击,以及管理访问、API、Shell部署和SEO等攻击特点。...首先,记录所有可写路径,随机选择合适的路径,然后patch所选文件。 ? 在本例中,将修补程序功能应用于index.php,以在Unix隐藏文件(点文件)中包含恶意脚本,扩展名为.ico。 ?...alfashell还能够从WordPress配置文件中获取数据库凭据,转储数据库,以及获取所有虚拟域和DNS设置。 ?...如果返回的文本长度小于1000个字符,则将使用Bing搜索引擎执行其他查询,并将匹配指定正则表达式的结果附加到$text中。 如果再次执行相同的查询,则返回最终的HTML页面并将其保存在服务器上。...攻击者通过WordPress的XML-RPC接口(API)实现,API允许数据传输并执行任务,如上传新文件、编辑和发布帖子。 WordPress网站的安全建议 上述示例只是已知攻击者使用的技术。

    2.8K20

    WordPress 网站开发“微信小程序”实战(五)

    image.png 还是一样,如果你是第一次看本系列文章,建议先过目之前的文章: 《WordPress 网站基于REST API 开发“微信小程序”实战》 《WordPress 网站开发“微信小程序“...重磅功能 前言 将WordPress 作为小程序的后端,建议是做一些针对性的优化(如《WordPress REST API 定制化输出》)以减少HTTP 请求传输过程中不必要字节数。...2)用Node + Redis 写了一个小型的后端,用来转发与缓存 WordPress REST API,Redis 作为内存数据库的缓存机制确保了读过程的快速;这个额外写的后端承载的另外功能是,将原本在小程序端进行的数据处理...评论列表的展示用到的WordPress REAT API 接口是https://example.com/wp-json/wp/v2/comments?...发布评论 WordPress 的发布评论的接口是https://example.com/wp-json/wp/v2/comments?

    2.5K60

    wordpress 5.8更新,支持webp

    wordpress 5.8刚刚发布更新,支持webp格式的图片上传,如下图所示。WebP 是一种现代图像格式,可为网络上的图像提供改进的无损和有损压缩。...编辑帖子周围的模板 您可以使用熟悉的块编辑器来编辑包含您的内容的模板——只需激活块主题或已选择使用此功能的主题。使用熟悉的块编辑器从编辑帖子切换到编辑页面然后再返回。兼容主题中有 20 多个新块可用。...由于列表视图为您提供了内容中所有块的概览,您现在可以快速导航到所需的精确块。准备好完全专注于您的内容了吗?打开或关闭它以适合您的工作流程。...theme.json 引入全局样式和全局设置 API:使用活动主题中的 theme.json 文件控制编辑器设置、可用的自定义工具和样式块。此配置文件启用或禁用功能并为网站和块设置默认样式。...添加额外的块支持 扩展先前在 WordPress 5.6 和 5.7 中实现的块支持 ,WordPress 5.8 引入了几个新的块支持标志和新选项来自定义您注册的块。

    2.9K10

    WordPress 网站基于REST API 开发“微信小程序”实战

    我们访问平常的普通 WordPress 网页,在没有开启静态缓存的情况下,大概是走“从数据库拉取数据—> 服务端 PHP 进程拼成 HTML 直接输出 —> 用户浏览器界面”的过程, REST API...有了REST API,一个网站制作各种网站版本(安卓版、iOS 版、以及接下来说的小程序版)而共享一个数据库成为了可能。 ? ?...且让Jeff 将上面的URL 解释下,/wp-json/wp/v2/ 这个是WordPress 定义的REST API 的“路由”(router)与版本号等的组合,合在一起称作“命名空间”(namespace...使用到WordPress 的REST API 就是 your-site.com/wp-json/wp/v2/posts?per_page={num}&page={num}。...// https://devework.com/wordpress-rest-api-weixin-weapp.html // 调用API从本地缓存中获取阅读记录并记录 var logs = wx.getStorageSync

    4.3K60

    WordPress + UniApp 多端小程序开发笔记:架构设计与踩坑记录

    内容管理、用户系统、媒体管理这些WordPress本身就有,而且它的RESTAPI天然支持JSON输出,稍加封装就能给前端用。相比从零搭后端,省了大量时间。UniApp则解决了多端适配的问题。...这部分主要是对WP_Query的封装,加上缓存和字段裁剪(小程序端不需要完整的WordPress文章对象,只返回必要字段能减少传输体积)。用户类:微信登录、积分、支付等。...这些本质上是服务端代理——小程序直接调第三方API会有域名白名单限制,通过WordPress后端中转就没这个问题。...六、微信支付对接要点微信支付在小程序里的流程:小程序端调用后端接口,传入商品信息后端调用微信统一下单API,拿到prepay_id后端对参数签名后返回给小程序小程序调用wx.requestPayment...接口优化:WordPress默认的RESTAPI返回字段太多,一篇文章的JSON可能有几十KB。自定义接口只返回前端需要的字段,列表接口的单条数据压缩到1KB以内。

    13410

    Spring Boot从零入门6_Swagger2生成生产环境中REST API文档

    本文采用的Swagger2就是一个当前流行的通过少量的注解就可以生成漂亮的API文档工具,且在生成的在线文档中提供类似POSTMAN直接调试能力,不仅仅是静态的文档。...构建好后有如下REST API: # 获取所有用户信息 GET http://localhost:8080/api/v1/users # 新增一个用户,参数通过body传递 POST http://localhost...3.2.3 启动服务并验证 当完成Swagger2的配置类时,启动WEB服务,通过http://localhost:8080/v2/api-docs就可以访问生成文档内容,但是浏览器返回的是JSON内容...REST API (代码层面上只需要将User相关的代码全部复制一份,将User关键字全部改为Product就可以了,包括大小写): # 获取所有产品信息 GET http://localhost:8080...https://piotrminkowski.wordpress.com/2018/02/19/versioning-rest-api-with-spring-boot-and-swagger/ https

    2.8K20

    WordPress 5.4.2版本发布,BUG维护和安全更新

    /functions.php wp-includes/images/w-logo-blue-white-bg.png wp-includes/pluggable.php wp-includes/rest-api.php...安装/更新信息#安装/更新信息 要下载WordPress 5.4.2,请从网站管理区的“仪表板”>“更新”菜单中自动更新,或者访问WordPress发行版档案。...有关安装和更新WordPress的分步说明: 更新WordPress 如果您对WordPress不熟悉,我们建议您从以下内容开始: WordPress新手–从哪里开始 WordPress或升级WordPress...,即设置屏幕选项可能被插件滥用,导致权限升级 卡罗琳娜·尼马克发现了一个问题,在这个问题上,来自受密码保护的帖子和页面的评论可以在特定条件下显示。...社交图标 49932–2020年的小打字错误 感谢所有为WordPress 5.4.2做出贡献的人: Andrea Fercia,argentite,M Asif Rahman,Jb Audras,

    2.6K20

    Serverless 时代,这才是Web应用开发正确的打开方式 | Q推荐

    因此,如果想使用 WAF、Usage Private、Private Enedpoint 等功能,请使用 API Gateway 的 Rest API。...其次,Lambda Function URLs 的超时时间是与函数的超时时间是一样的,比如,函数最长要运行 15 分钟,Lambda Function URLs 请求就可以运行 15 分钟,而 Rest...第三,采用 Lambda Function URLs 不需要支付额外的费用,但是采用 Rest API 与 HTTP API 都需要支付相应的费用。...此外,Lambda Adapter 支持 API Gateway 的 Rest API、HTTP API,作为 HTTP 的事件源。...同时因为 Lambda Function URLs 的事件格式和 API Gateway HTTP API V2 事件格式完全一致,所以 Lambda Adapter 不用做任何的修改,就可以接入 Lambda

    4.8K20

    wordpress提示Updating failed. The response is not a valid JSON response如何解决

    现在选择经典编辑器作为“所有用户的默认编辑器”选项,保存更改并清除网站缓存。在此之后,选择块编辑器作为默认编辑器并再次保存更改。 现在尝试使用块编辑器编辑现有帖子或创建新帖子。...此解决方案适用于我们,我们正在使用块编辑器而没有遇到 JSON 响应错误。...如何修复响应不是 WordPress 中的有效 JSON 响应错误 非常简单的 SSL 设置 保存更改后,返回您正在处理的帖子并尝试保存您的帖子或页面。...因此,为了排除任何插件冲突,您应该停用网站上的所有插件。如果需要,请使用健康检查和故障排除插件停用后端中的插件,而前端对访问者保持不变。...将永久链接结构从 post-name 或当前结构更改为 Plain,即 https://yoursite.com/?p=123。现在尝试保存您的帖子/页面。问题应该已经解决了。

    6K30
    领券