漏洞概述

  • 类型:水平越权(IDOR,Insecure Direct Object Reference)
  • 危害等级:中危
  • 涉及功能:用户“订单详情”接口(示例,已脱敏)

发现过程

  1. 登录账号 A 打开订单详情,URL 形如 /api/order/detail?id=10001;
  2. 把 id 换成账号 B 的订单号 10002,接口正常返回了 B 的收货信息 → 确认接口只校验“登录态”,没校验“资源归属”;
  3. 影响面核实:可遍历读取他人订单(收货人、电话等敏感字段)。

修复建议

  • 后端强制用 session 用户 id 查订单,不接受前端传入的归属判断;
  • 对资源访问统一走“权限中间件/授权对象”而非每个接口手写判断。

复盘与技巧清单(下次直接用)

  • 列表接口:翻页参数 page/size 与排序字段是否存在越权面;
  • 详情接口:对 id/uid/orderId/fileId 做交叉替换测试;
  • 下载/导出接口:文件路径与文件名参数是否存在目录穿越或越权;
  • 关注“接口只在前端隐藏、后端不校验”的菜单/按钮。
注意

示例已脱敏:正式记录同样不要出现真实域名、IP 与账号信息。

站内搜索

没有找到内容!