首页/安全/渗透测试与安全评估速查/水平越权检查(同级用户间)
常见漏洞验证121 条

水平越权检查(同级用户间)

同一角色不同用户之间的数据隔离检查:列表、详情、导出、消息、文件下载都要逐项验证归属校验。

水平越权检查范围

水平越权指同一角色的不同用户之间数据隔离失效:服务端只校验了登录态,没校验数据归属。检查要覆盖同一角色的全部数据面接口,而不只是详情页——列表过滤、导出、消息通知、文件下载都可能是漏点。批量导出类接口一旦越权,影响面通常远大于单条数据越权。

基本信息

检查范围同角色的全部数据面接口
抽样方法按功能模块各选一至两个接口
要求前提至少两个同级测试账号
记录内容接口、参数、越权现象、影响面与数据敏感度
边界写操作仅在授权下进行并即时恢复

典型使用场景

  • 订单、工单、消息、账单等自有数据的详情与列表接口
  • 导出与报表接口:越权可批量获取他人数据
  • 文件下载与预览接口:按标识访问他人附件
  • 异步任务与通知接口:按标识读取他人结果
  • 分享链接与短链接口:标识可枚举时的访问控制

检查矩阵

检查矩阵
# 功能模块 乘 接口类型(列表/详情/更新/删除/导出)逐格标注
# 结果分类:
#   已校验(服务端拒绝访问他人数据)
#   越权可读(返回他人数据)
#   越权可写(可修改他人数据,需授权并即时恢复)
#   待复核(缓存或异步导致结果不确定)
# 每个格子记录:请求参数、返回特征、数据敏感度

结果读法

现象含义定级参考
返回他人单条数据详情接口缺少归属校验中高,取决于数据敏感度
列表包含他人记录查询条件未按主体过滤中高,泄露面随分页扩大
可导出他人批量数据导出接口未按主体过滤高,影响面最大
可修改他人数据写操作缺少归属校验高,且需评估数据完整性影响
导出与报表接口常被遗漏:批量数据越权的实际泄露量往往比单条越权高出几个数量级。
前端隐藏按钮不是权限控制:按钮是否可见不影响接口可达性,必须验证服务端返回。

易错点

  • 只测详情接口,漏掉列表过滤、导出与大屏统计接口
  • 把前端隐藏按钮当作权限控制,误判为已修复
  • 用真实用户的业务数据做交叉验证,触碰个人数据
  • 写操作越权未即时恢复,造成业务数据被非法修改

数据来源与参考

  • OWASP WSTG WSTG-ATHZ-04
  • OWASP API Security Top 10
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌