用途:扫描 WordPress 站点插件注册的自定义 REST API 路由,发现未做认证校验的状态变更端点(POST/PUT/PATCH/DELETE),并验证其可被未授权利用。
主要能力:枚举 /wp-json/ 中全部插件命名空间,过滤标准命名空间;映射每个插件命名空间下的路由、HTTP 方法与参数;对写方法无认证发起测试,依据响应判断端点是否可达;尝试内容发布、设置修改、隐藏端点(如 login-url、status、config、debug、phpinfo)探测;附带快速扫描脚本与常见 payload。
使用方式:需 python3 与 requests 库,准备目标 WordPress 站点 URL。先用 curl 获取命名空间列表,再逐插件获取路由,随后对写方法无认证测试,最后用常见参数探测并验证。判定要点:401 表示已强制认证;400 且提示缺少参数说明端点可达;rest_forbidden 或 not allowed 表示安全;出现 Post published、Success、rest_missing_callback_param、Invalid action 等提示说明可能可利用。
适用场景:目标 WordPress 站点通过 /wp-json/wp/v2/users 暴露用户;已知有趣插件命名空间需映射路由;标准端点返回 401 而第三方插件端点可能未设防;需寻找隐藏管理 URL、调试端点或未授权写操作。
限制与注意:请求需间隔 1-2 秒以免触发安全插件;Cloudflare、Wordfence 等可能拦截 POST,可尝试不同 Content-Type;部分插件返回双重编码 JSON,应先查看 r.text;post_type 可能需尝试 post、page、product、attachment 及自定义类型;测试创建的内容应尽量删除,若插件无未授权 DELETE 则需人工清理。验证要求端点必须在不返回 401 的情况下接受状态变更,并通过访问创建内容 URL 或读取设置确认更改生效,记录 payload、路径、方法与响应。该技能仅用于授权安全测试。