API 权限检查:为什么登录成功仍然不够?
先用业务语言定义权限
以客户文档门户为例,列清谁可以查看、修改、下载或删除文件,并覆盖员工、客户与不同企业之间的边界。这份权限表可以帮助开发与检查人员对同一行为形成一致判断。
核对每一种访问入口
OWASP 将缺失对象级权限校验列为 API 风险。隐藏按钮或使用难以猜测的编号不能代替服务端授权。除了主记录页面,导出和附件入口也应采用一致的检查标准。
让验证可以重复
使用获批账号和模拟记录核对允许与拒绝的访问,并为每个测试保存预期结果。权限规则改变后,将这些场景纳入回归检查,避免只修复一个页面而遗漏其他入口。
执行清单
- 列清角色及可执行动作。
- 覆盖附件和导出入口。
- 用测试数据核对企业间隔离。
- 权限变更后重新验证。
常见问题
随机编号能解决越权问题吗?
不能。随机编号可以增加猜测难度,但服务端仍须判断当前用户是否有权访问目标对象。
参考来源与延伸阅读
OWASP API1:2023 Broken Object Level Authorization本文提供一般性知识,不是对你的系统作出的检测结论。实际测试须先确认范围与授权。