🔓 A01 访问控制失效

章节 01-02访问控制越权IDOR

📌 一句话概括

访问控制失效(Broken Access Control)是 OWASP Top 10 2021 排名第一的风险——用户能执行超出其权限范围的操作,核心是「用户身份」与「操作权限」的校验未被严格执行。

💡 核心原理

① 三类典型场景

② 根因分析

🔍 测试实战

1. 水平越权测试

操作:登录用户 A,获取资源 ID(如订单号 1001),登出后用用户 B 登录,直接访问 /api/order/1001

工具:Burp Suite(Proxy + Repeater)、Postman

指标:水平越权发现率、越权访问成功率(目标为0)

2. 垂直越权测试

操作:用低权限账号获取高权限接口地址,直接发送请求观察是否被拦截

工具:Burp Suite 下载、Authz 插件

指标:垂直越权漏洞数、权限校验覆盖率(应达100%)

3. 批量 IDOR 检测

操作:编写脚本遍历资源 ID(如 user_id=1001~2000),观察哪些 ID 可被未授权访问

工具SecLists + 自定义 Python 脚本

⚠️ 常见坑点

  1. 误以为"前端隐藏=安全":菜单上不显示管理员按钮不等于用户不能直接访问 API 端点
  2. 只测 Web 不测 API:移动端和微服务间调用的访问控制可能独立于 Web 前端实现
  3. 忽略 GraphQL:GraphQL 的单个端点+查询组合可能绕过分层级的权限校验

📖 延伸阅读