过度数据暴露是什么
接口返回超出前端实际需要的字段,会放大数据泄露面:手机号、证件号、内部状态位、成本价、风控标记这类字段前端没有用到,却随每个响应发送给了客户端。检查方式是逐个关键接口抓取完整响应,标注哪些字段被 UI 使用、哪些属于内部字段、哪些属敏感字段但未脱敏。
基本信息
| 检查对象 | 用户、订单、设备、组织与员工信息类接口 |
|---|---|
| 检查方法 | 抓取完整响应字段并与前端使用情况比对 |
| 典型信号 | 含内部 ID、状态位、成本与风控字段 |
| 修复方向 | 按场景定义返回结构(DTO),只输出必要字段 |
典型使用场景
- 开放平台与第三方对接接口的字段审查
- 移动端接口评估:抓包得到的字段常多于界面展示
- 排查日志与响应中出现的个人敏感信息
- 评估内部字段(成本、风控分)对外泄露的业务影响
- 与越权问题联动,评估批量拉取的后果
检查步骤
检查步骤
1. 抓取关键接口的完整响应,导出为字段清单
2. 逐字段标注:前端实际使用 / 未使用 / 内部字段 / 敏感字段未脱敏
3. 核对敏感字段的必要性与脱敏规则(部分展示、掩码、按需授权)
4. 抽样验证批量查询接口:单次请求能返回多少条记录、能否翻页拉全量
5. 汇总字段清单与收敛建议,标注业务影响等级字段类型与处理建议
| 字段类型 | 典型内容 | 处理建议 |
|---|---|---|
| 个人标识 | 手机号、证件号、邮箱 | 按场景脱敏与掩码 |
| 内部主键 | 自增 ID、内部编码 | 改用不可枚举的外部标识 |
| 业务内部字段 | 成本价、风控分、审核备注 | 不返回或仅对特定角色返回 |
| 关联对象 | 用户完整资料、组织架构 | 只返回必要子集 |
| 调试字段 | 环境名、版本号、堆栈信息 | 生产环境关闭或过滤 |
过度暴露与越权是叠加关系:低危的字段泄露在配合可批量枚举的接口时会变成批量数据泄露,两项建议放在一起评估。
验证批量拉取能力时严格限制请求次数与数据量:不要真的把整库数据拉下来,用总数字段或单页上限即可说明影响面。