首页/安全/渗透测试与安全评估速查/API 过度数据暴露检查
常见漏洞验证121 条

API 过度数据暴露检查

接口返回超出前端需要的字段会放大数据泄露面:逐个检查响应字段,区分必要字段与内部字段。

过度数据暴露是什么

接口返回超出前端实际需要的字段,会放大数据泄露面:手机号、证件号、内部状态位、成本价、风控标记这类字段前端没有用到,却随每个响应发送给了客户端。检查方式是逐个关键接口抓取完整响应,标注哪些字段被 UI 使用、哪些属于内部字段、哪些属敏感字段但未脱敏。

基本信息

检查对象用户、订单、设备、组织与员工信息类接口
检查方法抓取完整响应字段并与前端使用情况比对
典型信号含内部 ID、状态位、成本与风控字段
修复方向按场景定义返回结构(DTO),只输出必要字段

典型使用场景

  • 开放平台与第三方对接接口的字段审查
  • 移动端接口评估:抓包得到的字段常多于界面展示
  • 排查日志与响应中出现的个人敏感信息
  • 评估内部字段(成本、风控分)对外泄露的业务影响
  • 与越权问题联动,评估批量拉取的后果

检查步骤

检查步骤
1. 抓取关键接口的完整响应,导出为字段清单
2. 逐字段标注:前端实际使用 / 未使用 / 内部字段 / 敏感字段未脱敏
3. 核对敏感字段的必要性与脱敏规则(部分展示、掩码、按需授权)
4. 抽样验证批量查询接口:单次请求能返回多少条记录、能否翻页拉全量
5. 汇总字段清单与收敛建议,标注业务影响等级

字段类型与处理建议

字段类型典型内容处理建议
个人标识手机号、证件号、邮箱按场景脱敏与掩码
内部主键自增 ID、内部编码改用不可枚举的外部标识
业务内部字段成本价、风控分、审核备注不返回或仅对特定角色返回
关联对象用户完整资料、组织架构只返回必要子集
调试字段环境名、版本号、堆栈信息生产环境关闭或过滤
过度暴露与越权是叠加关系:低危的字段泄露在配合可批量枚举的接口时会变成批量数据泄露,两项建议放在一起评估。
验证批量拉取能力时严格限制请求次数与数据量:不要真的把整库数据拉下来,用总数字段或单页上限即可说明影响面。

易错点

  • 只看前端渲染用到的字段,忽略 JSON 里多出来的内部字段
  • 把调试字段一律判高危,未评估实际敏感度,导致报告失去优先级区分
  • 只检查单个详情接口,漏掉列表与导出接口这些批量出口
  • 未评估字段可枚举性,忽略自增 ID 被批量遍历的风险
  • 验证批量拉取时真的拉取全量数据,超出必要的证据获取范围

数据来源与参考

  • OWASP API Security Top 10(API3)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌