WordPress wp-json 漏洞利用与防御指南
温馨提示:本文最后更新于2026年7月20日 12:30,若内容或图片失效,请在下方留言或联系博主。
wp-json 是 WordPress 提供的一个 REST API 端点,用于通过 HTTP 请求与 WordPress 系统进行交互。该端点允许开发者获取和操作 WordPress 中的数据,例如文章、页面、用户、评论等。
访问 wp-json 的基本 URL 是:https://example.com/wp-json/,其中 example.com 是你的网站域名。WordPress 会根据请求的路径和方法(GET、POST、PUT、DELETE)来响应相应的数据或执行相应操作。
常见的 wp-json 路径
-
/wp-json/wp/v2/posts
获取所有文章的列表,支持分页、过滤和排序。 -
/wp-json/wp/v2/posts/<id>
获取指定 ID 的文章详情。 -
/wp-json/wp/v2/pages
获取所有页面的列表。 -
/wp-json/wp/v2/users
获取所有用户的信息。 -
/wp-json/wp/v2/users/<id>
获取特定用户的详细信息。 -
/wp-json/wp/v2/comments
获取所有评论。 -
/wp-json/wp/v2/taxonomies
获取所有分类法(如标签、分类)信息。 -
/wp-json/wp/v2/types
获取所有文章类型信息。
请求方法
- GET:用于获取数据。
- POST:用于创建新内容(如文章、评论)。
- PUT:用于更新现有内容。
- DELETE:用于删除内容。
认证方式
默认情况下,wp-json 不需要认证即可读取公开数据。如果要进行写操作(如发布文章、修改用户),需要使用以下方式之一进行身份验证:
- OAuth 1.0a:适用于第三方应用。
- JWT(JSON Web Token):需安装插件(如
jwt-authentication-for-wordpress)。 - Basic Auth:通过 HTTP 基本认证,适用于开发环境。
- Cookie Authentication:在浏览器中登录后,通过 Cookie 进行认证。
示例请求
获取文章列表
GET https://example.com/wp-json/wp/v2/posts
创建新文章
POST https://example.com/wp-json/wp/v2/posts
{
"title": "My New Post",
"content": "This is the content of the post.",
"status": "publish"
}
注意事项
- 默认情况下,wp-json 提供的是 REST API 的核心功能,但可以通过安装插件扩展其功能(如 WooCommerce 使用
/wp-json/wc/v3/)。 - 可以通过
register_rest_route()函数自定义 REST API 端点。 - 为了安全,建议对写操作进行适当的权限控制。
- 避免将敏感数据暴露在公开可访问的 REST 端点中。






