接口越权漏洞怎么排查和修复
接口越权最容易被漏掉的地方,不是登录校验,而是对象级权限。用户有token,不代表他能看所有订单、所有文件、所有客户记录。我以前排查过一个问题,接口只校验了 user_id 是否存在,却没有校验这条记录是不是属于当前租户,换一个id就能看到别人的数据。修这种问题不能只在前端隐藏按钮,后端每个读写入口都要重新确认 owner、tenant、role 和资源状态。我的做法是先列出所有带 id 的接口,再用普通用户、跨部门用户、离职账号、只读角色各跑一遍。权限规则也别散在每个 controller 里手写,最好沉到统一查询条件或鉴权函数里,减少漏网接口。修完后补自动化用例,至少覆盖"能访问自己的"和"不能访问别人的"。越权漏洞很少靠肉眼一次看干净,靠的是接口清单、统一鉴权函数和回归测试。