水平越权检查范围
水平越权指同一角色的不同用户之间数据隔离失效:服务端只校验了登录态,没校验数据归属。检查要覆盖同一角色的全部数据面接口,而不只是详情页——列表过滤、导出、消息通知、文件下载都可能是漏点。批量导出类接口一旦越权,影响面通常远大于单条数据越权。
基本信息
| 检查范围 | 同角色的全部数据面接口 |
|---|---|
| 抽样方法 | 按功能模块各选一至两个接口 |
| 要求前提 | 至少两个同级测试账号 |
| 记录内容 | 接口、参数、越权现象、影响面与数据敏感度 |
| 边界 | 写操作仅在授权下进行并即时恢复 |
典型使用场景
- 订单、工单、消息、账单等自有数据的详情与列表接口
- 导出与报表接口:越权可批量获取他人数据
- 文件下载与预览接口:按标识访问他人附件
- 异步任务与通知接口:按标识读取他人结果
- 分享链接与短链接口:标识可枚举时的访问控制
检查矩阵
检查矩阵
# 功能模块 乘 接口类型(列表/详情/更新/删除/导出)逐格标注
# 结果分类:
# 已校验(服务端拒绝访问他人数据)
# 越权可读(返回他人数据)
# 越权可写(可修改他人数据,需授权并即时恢复)
# 待复核(缓存或异步导致结果不确定)
# 每个格子记录:请求参数、返回特征、数据敏感度结果读法
| 现象 | 含义 | 定级参考 |
|---|---|---|
| 返回他人单条数据 | 详情接口缺少归属校验 | 中高,取决于数据敏感度 |
| 列表包含他人记录 | 查询条件未按主体过滤 | 中高,泄露面随分页扩大 |
| 可导出他人批量数据 | 导出接口未按主体过滤 | 高,影响面最大 |
| 可修改他人数据 | 写操作缺少归属校验 | 高,且需评估数据完整性影响 |
导出与报表接口常被遗漏:批量数据越权的实际泄露量往往比单条越权高出几个数量级。
前端隐藏按钮不是权限控制:按钮是否可见不影响接口可达性,必须验证服务端返回。