首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WordPress REST API 内容注入漏洞分析

漏洞简介 在REST API自动包含在Wordpress4.7以上的版本,WordPress REST API提供了一组易于使用的HTTP端点,可以使用户以简单的JSON格式访问网站的数据,包括用户,帖子...上周,一个由REST API引起的影响WorePress4.7.0和4.7.1版本的漏洞被披露,该漏洞可以导致WordPress所有文章内容可以未经验证被查看,修改,删除,甚至创建新的文章,危害巨大。...五种请求 之后,WP-API还有这么几种请求(也可以想成是功能吧): HEAD GET POST PUT DELETE 以上表示HTTP客户端可能对资源执行的操作类型。...另一个思路就是可以进行对原来文章中的指定超链接进行修改,从而进行钓鱼。 还有一个思路,就是利用WordPress文章中解析html以及JavaScript文件包含的做法,辅助其他方法,进行攻击。...0x03 diff比较 对于该漏洞,关键的修改在/wp-includes/class-wp-post.php中: ?

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

    展示 Postlight 的 WordPress + React Starter Kit

    这个入门单元会在两个阶段启动一个带有响应前端的 WordPress 后端,与 WP REST 编程接口进行对话。要使用它,请克隆保管库。...Post light 在前一年左右为我们的客户发送了一些带有响应前端的 Headless WordPress 企业,我们厌倦了不断重复底层的跑腿工作。...在我们与不同客户的合作中,我们看到了一些情况、业务原因和项目先决条件,这些情况使带有响应前端的 WordPress 后端成为好兆头。...你必须设置自定义帖子类型和自定义字段(Progressed Custom Fields Master 和自定义帖子类型 UI)的 WordPress 模块。...WordPress 模块在 WP REST 编程接口(ACF 到 WP 编程接口和 WP-REST 编程接口 V2 菜单)中发现那些自定义字段和 WordPress 菜单。

    1.1K31

    史上最详细的WordPress的自定义文章类型指南(1)

    但是WordPress中一些比较重要的部分,比如WP_Query , REST API, 包括本文要介绍的Post Type部分都是面向对象,而且WordPress中的一些插件就是全部使用面向对象,比如...=> true, // bool (默认为 TRUE) // 是否暴露在 Rest API 中 'show_in_rest', // 布尔值...,默认为 false // 使用 Rest API 访问的基础 URI 别名 'rest_base', // 字符串,默认为文章类型别名...// 使用自定义 Rest API 控制器而不是默认的 WP_REST_Posts_Controller,自定义控制器必须继承 WP_REST_Controller 'rest_controller_class...WordPress 为我们提供了一个过滤器register_post_type_args,使用这个过滤器,可以修改现有文章类型的参数,从而对已注册的文章类型的属性进行修改,可以多次任意修改。

    4.4K20

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

    image.png 还是一样,如果你是第一次看本系列文章,建议先过目之前的文章: 《WordPress 网站基于REST API 开发“微信小程序”实战》 《WordPress 网站开发“微信小程序“...重磅功能 前言 将WordPress 作为小程序的后端,建议是做一些针对性的优化(如《WordPress REST API 定制化输出》)以减少HTTP 请求传输过程中不必要字节数。...2)用Node + Redis 写了一个小型的后端,用来转发与缓存 WordPress REST API,Redis 作为内存数据库的缓存机制确保了读过程的快速;这个额外写的后端承载的另外功能是,将原本在小程序端进行的数据处理...另外,上面的Comment API 默认的数据段是按照时间排序的评论数组,在 WordPress 中存在的父子评论关系在 API 中是通过parent与id两个字段联系起来。...另外,还与本站评论表情打通,使得在小程序端也能正常显示这些自定义表情图片。

    2K60

    Meta Box:一个被名字耽误的强大的WordPress自定义字段插件

    虽然说可以通过主题直接使用add_meta_box函数,但是更多的情况下还是在插件中来使用,比如注明的WordPress超级自定义字段插件:Advanced Custom Fields 。...Meta Box的官网介绍说从2010年开始就专注于该插件的开发 ,目标是帮助开发者更快更好的处理WordPres中的自定义meta box ,不仅仅是一个插件,甚至可以说是一个帮助WordPress开发者处理数据的框架...下面是一个调用API的例子,将下面的实例代码加入主题的function.php文件中,这会设置四个自定义字段 name, gender, email, biography. : add_filter(...支持的字段类型和扩展插件 Meta Box支持多达46中字段类型,应有尽有 ,基本可以满足所有场景的需求,完整列表如下: Autocomplete Background Button Button Group...Rest API Meta Box 还提供了一个辅助插件 来扩展 WordPress自身的rest API.

    4.2K20

    Django REST Framework-常用的信号类型(二)

    三、pre_save信号和post_save信号pre_save信号在对象保存前触发,post_save信号在对象保存后触发。它们可以用于执行一些自定义的逻辑,如修改对象属性、发送邮件通知等。...在do_something_before_save函数中,我们可以修改对象属性。send_email_after_save函数是一个post_save信号处理器,它在MyModel对象保存后被调用。...它们可以用于执行一些自定义的逻辑,如删除对象关联的数据、发送邮件通知等。...五、其他信号类型除了上述常用的信号类型外,Django REST Framework还提供了其他类型的信号,如APIView的信号、ModelViewSet的信号等。...这些信号可以用于执行一些与API相关的自定义逻辑,如记录API访问日志、修改API响应结果等。

    48350

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

    近日,来自Sucuri的研究人员发现WordPress存在重大漏洞,漏洞在于WordpressREST API,成功利用该漏洞可删除页面或修改页面内容。...在4.7.0版本后,REST API插件的功能被集成到WordPress中,由此也引发了一些安全性问题。...近日,一个由REST API引起的影响WorePress4.7.0和4.7.1版本的漏洞被披露,该漏洞可以导致WordPress所有文章内容可以未经验证被查看,修改,删除,甚至创建新的文章,危害巨大。...(2) 漏洞复现 ①根据REST API文档,修改文章内容的数据包构造如下: ?...截图中有一个微妙但非常重要的细节——WordPress在将ID参数传递给get_post前先将其转换为一个整数。鉴于PHP进行类型比较和转换的方式,这是一个问题。

    2.8K60

    从入门到精通Django REST Framework-(四)

    它支持以下功能:请求解析:自动解析请求体中的数据(如 JSON、表单数据)。响应封装:提供 Response 对象,支持内容协商(自动根据客户端需求返回 JSON 等格式)。...认证与权限:内置认证(如 Token、JWT)和权限控制(如用户权限、访问频率限制)。异常处理:统一捕获 API 异常,返回结构化的错误响应。二、为什么要使用 APIView?...相比 Django 原生的 View,APIView 更适合构建 RESTful API:标准化请求/响应:自动解析请求数据并封装响应,无需手动处理 request.POST 或 JsonResponse...request.method: 获取 HTTP 请求方法(如 GET、POST、PUT、DELETE 等)。...request.POST: 获取请求体中的表单数据(当 Content-Type 为 application/x-www-form-urlencoded 或 multipart/form-data 时)

    6200

    在 REST 服务中支持 CORS

    概述本节提供 CORS 的概述以及如何在 IRIS REST 服务中启用 CORS 的概述。CORS 简介跨域资源共享 (CORS) 允许在另一个域中运行的脚本访问服务。...如果请求被允许,则响应包含请求的信息。否则,响应仅包含指示 CORS 不允许请求的标头。启用 REST 服务以支持 CORS 的概述默认情况下,REST 服务不允许 CORS 标头。...为此,需要:创建 %CSP.REST 的子类。在这个类中,实现第一小节中描述的 OnHandleCorsRequest() 方法。修改规范类并重新编译,重新生成调度类。...定义 OnHandleCorsRequest()在 %CSP.REST 的子类中,定义 OnHandleCorsRequest() 方法,该方法需要检查 CORS 请求并适当地设置响应标头。...修改规范类在定义 %CSP.REST 的自定义子类(包括 OnHandleCorsRequest() 的实现)后,执行以下操作:编辑规范类中的 OpenAPI XData 块,使 info 对象包含一个名为

    2.6K30

    如何开发一个简单的WordPress 插件

    本文将详细介绍 WordPress 插件开发的各个方面,包括插件的基本结构、开发流程、常用 API、最佳实践等,帮助开发者从零开始掌握 WordPress 插件开发。...钩子分为两种类型:动作钩子(Action Hooks):允许开发者在特定事件发生时执行自定义代码。过滤器钩子(Filter Hooks):允许开发者修改 WordPress 数据或输出。...以下是一个示例,展示如何在文章发布时发送电子邮件通知:function my_first_plugin_send_email($post_id) { $post = get_post($post_id...');3.1.2 过滤器钩子过滤器钩子允许你修改 WordPress 数据。...';}add_filter('the_content', 'my_first_plugin_modify_content');3.2 创建自定义短代码短代码是 WordPress 中的一种特殊标记

    34210

    把 WordPress 变成 BaaS 服务:API 调用指南

    写在前面首先,我们需要进行清晰的名词定义,这里指的 “API 调用”是能够通过外部程序访问的 WordPress API 可编程接口,而非 WordPress 暴露给内部生态系统中的主题、插件工具开发者使用的...另外一种,则是 REST API,使用通用的 JSON 格式来与 WordPress 应用进行数据交互。...不过,庆幸的是,在 WordPress 最新发布的 6.5.0 版本变更记录中,依旧对 REST API 功能做了保留和支持。社区中也依旧有许多方便的可以调用的 SDK 方案和资料参考。...方案二:WP REST API虽然上文中提到了 WP REST API 当前的窘况,但好在目前 6.5.0 版本中,官方还是对它进行了支持,虽然没有明确文档告知用户该如何使用(应该是暂时减少支持工作消耗的开发同学的精力...在调用的过程中,做好身份鉴权,这里可以借助一些其他插件,比如 plugins/wp-rest-api-authentication/等。

    18410

    【译】WordPress 中的50个过滤器(5):第31-40个过滤器

    修改文章的保存版本控制数量 你可能找到WordPress 有个“修订版本”的功能,要设置的话你需要通过控制wp-config.php中的WP_POST_REVISIONS常量。...但是你如果想这个自定义功能也能在其他文章类型中起作用呢?该如何操作?使用这个wp_revisions_to_keep过滤器试下。...禁止某些特定文章类型使用“修订版本”功能 下面的代码需要修改$post变量为你的,代码中为“even”。 <?...> 这样就为你的WordPress 网站的第一篇文章添加了.first-post 这个类,之后在开发中你就可通过CSS 自定义.first-post 的样式而不用担心因为使用:first这个伪类而产生的跨浏览器兼容问题了...在附件中增加自定义的输入框 在WordPress 中,附件大体上相当于一种额外的文章类型——仅仅有小小区别。

    1.2K70

    重学SpringBoot系列之RestFul接口及常用注解

    如:/api/v1/blog 面向扩展开放,面向修改关闭:也就是说一个版本的接口开发完成测试上线之后,我们一般不会对接口进行修改,如果有新的需求就开发新的接口进行功能扩展。...如: value: 应用请求端点,最核心的属性,用于标志请求处理方法的唯一性; method: HTTP协议的method类型, 如:GET、POST、PUT、DELETE等; consumes:...那么如何响应其他的类型的数据?其中的判别原理又是什么?...---- 自定义HttpMessageConverter 其实绝大多数的数据格式都不需要我们自定义HttpMessageConverter,都有第三方类库可以帮助我们实现(包括下文代码中的Excel格式...但有的时候,有些数据的输出格式并没有类似于Jackson这种类库帮助我们处理,需要我们自定义数据格式。该怎么做? 下面我们就以Excel数据格式为例,写一个自定义的HTTP类型转换器。

    1.6K10
    领券