权限边界与最小必要
权限边界与最小必要原则要求:测试过程中的每一个动作都要能回答“这个动作与验证目标有关吗”。与此无关的数据、系统与人员都不要碰。具体来说,用越权漏洞浏览到无关业务模块时,应立刻停止而不是继续翻看;用测试账号进入后台时,不去查看与验证目标无关的用户资料;人员方面,不骚扰与测试无关的员工(包括电话与邮件)。这不是过度谨慎,而是安全从业者的职业底线——越界的诱惑常出现在顺手看一眼的瞬间,一旦发生就构成数据处理违规。
基本信息
| 核心原则 | 最小必要:只触碰证明问题所需的资源 |
|---|---|
| 数据边界 | 不查看与漏洞无关的内容 |
| 人员边界 | 不骚扰非目标员工,不做无授权社工 |
| 系统边界 | 不进入与目标无关的系统与模块 |
| 记录要求 | 越权窗口内看到的数据要脱敏处理 |
典型使用场景
- 越权漏洞验证:只读取足以证明归属缺失的最小数据
- 后台访问:进入后台仅执行与验证目标相关的操作
- 配置核查:读取配置只为判断权限模型,不翻看业务数据
- 导出功能:验证导出权限即可,不实际导出全量数据
- 报告撰写:截图与引用一律脱敏,隐藏无关信息
边界自检
边界自检
# 这次请求必要吗?
# 返回的数据与漏洞有关吗?
# 有没有更轻量的验证方式?
# 记录里要不要脱敏?
# 有没有更小的请求能证明同样的问题?越界场景与正确做法
| 场景 | 越界做法 | 正确做法 |
|---|---|---|
| 越权漏洞 | 浏览无关业务模块 | 只读最小必要数据并记录 |
| 测试账号 | 查看他人用户资料 | 仅使用自建账号与自建数据 |
| 后台入口 | 顺手修改配置 | 只读取与验证目标相关的信息 |
| 员工信息 | 联系或试探非目标员工 | 完全不接触,报告注明未测 |
| 导出接口 | 导出全量数据 | 验证权限即可,不实际导出 |
越界的诱惑常出现在顺手看一眼的瞬间,边界意识靠平时训练;把边界自检作为动作前的固定习惯。
用越权漏洞浏览无关业务模块,本质上是数据处理越界,可能触发合规责任,不能以验证漏洞为由辩解。