背景 在实际业务安全评估里,接口越权是我见得比较多、也比较容易被低估的一类问题。它不像反序列化、RCE 那样“显眼”,但一旦出现在订单、工单、文件、审批、租户管理等模块,影响往往不小。 这篇文章不讨论如何攻击具体系统,而是整理一次典型接口越权排查的思路:如何从现象定位到代码,如何判断是水平越权还是垂直越权,如何把修复建议落到开发可执行的层面。适合用于内部安全测试、代码审计和缺陷复盘。 问题场景 一个常见场景是:系统中存在“查看详情”接口,前端页面通过资源 ID 查询数据。例如订单详情、项目详情、文件详情、客户详情等。 GET /api/order/detail?id=1024正常情况下,用户只能查看自己名下或自己组织范围内的数据。但如果服务端只根据传入的 id 查询记录,没有校验当前登录用户与该资源之间的关系,就可能导致水平越权。 另一个常见场景是后台功能入口被前端隐藏,但接口本身没有做角色校验。例如普通用户无法在菜单里看到“用户管理”,但直接访问接口仍然能查询敏感数据,这类通常属于垂直越权。 技术分析 越权问题的核心不是“接口有没有登录态”,而是“登录态与资源、动作、角色之间是否建立