首页/安全/渗透测试与安全评估速查/垂直越权检查(低权限访问高权限)
常见漏洞验证121 条

垂直越权检查(低权限访问高权限)

低权限角色直接访问管理接口/页面时验证服务端是否独立鉴权;前端隐藏菜单不构成防护。

垂直越权检查

垂直越权指低权限角色能访问本来只属于高权限角色的功能,例如普通用户直接调用管理后台接口、修改系统配置、管理其他账号。判断的关键在服务端:只有服务端在该接口上独立做权限校验并返回 403 或 401,才算防护有效;前端隐藏菜单、按钮置灰都不构成防护。验证方法是先用管理员会话记录高权限接口的请求结构与参数,再换成低权限会话重放同一请求,对比响应。还要覆盖角色继承与多角色叠加场景,以及权限被回收后旧令牌是否仍然可用。

基本信息

风险类型垂直越权,对应 OWASP API Security Top 10 的 BFLA
关注对象管理后台接口、配置修改、用户管理、审批操作
验证方法低权限会话直连高权限接口
判据服务端返回 403 或 401 才算防护有效
补充场景多角色叠加、权限回收后旧令牌是否失效

典型使用场景

  • 管理后台接口:普通用户直接调用用户管理类接口
  • 配置修改:系统参数、字典与模板配置的读写接口
  • 审批操作:绕过审批流直接执行终态操作
  • 数据导出:导出全量数据的高权限接口
  • 角色变更:低权限账号自行提权或改角色

验证步骤

验证步骤
1. 用管理员会话记录高权限接口的请求(路径与参数)
2. 换成低权限账号会话重放同一请求
3. 观察:成功 / 权限错误 / 重定向登录页
4. 对角色继承与多角色场景分别验证
5. 记录响应差异与请求样本(脱敏)

响应与结论

响应含义结论
返回业务数据或操作成功接口未做权限校验越权成立,按影响分级
返回 403服务端做了权限校验防护有效
重定向到登录页会话鉴权前置鉴权到位,但要注意接口层是否一致
返回 200 空数据可能仅过滤了数据需确认是否仍可执行写操作
接口不存在路径受保护或未部署换其他等价接口继续核对
修复视角:鉴权在服务端按接口粒度执行,权限点与角色解耦并集中管理;前端隐藏只能提升体验,不能算安全措施。
用管理员令牌在浏览器里做测试,得到的现象不可信;必须用低权限账号的会话发起请求,才反映真实鉴权行为。

易错点

  • 用管理员令牌在浏览器里测试,现象不可信,测试方法本身有误
  • 忽略多角色叠加与权限回收后令牌未失效的场景,漏测真实风险
  • 以前端菜单隐藏判断防护有效,未校验服务端行为
  • 只验证 GET 接口,漏掉写操作与批量接口的权限校验

数据来源与参考

  • OWASP WSTG WSTG-ATHZ-02
  • OWASP API Security Top 10(API5 BFLA)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌