越权访问完整指南:水平越权/垂直越权/IDOR/状态越权,攻击示例与防御方法。
写在前面:合法学习边界
越权访问测试只在授权测试环境进行。
一、越权访问分类

1
2
3
4
| 水平越权(BOLA):同级别用户之间
垂直越权(BFLA):低权限 → 高权限
IDOR:直接对象引用(改 ID 参数)
状态越权:跳过状态机步骤
|
二、攻击示例
1
2
3
4
| 水平越权:GET /api/orders?id=123 → 改 id=124
垂直越权:普通用户访问 /admin 或改 role=admin
IDOR:GET /account?id=1 → id=2
状态越权:跳过审批步骤直接完成操作
|
三、防御方法
1
2
3
4
| 服务端权限校验:每次请求验证用户是否有权操作
不可预测 ID:使用 UUID 替代自增 ID
统一鉴权中间件:RBAC 基于角色的访问控制
日志审计:记录敏感操作 · 异常告警
|
四、小结
越权是 Web 应用最常见的漏洞类型。核心防御是在服务端做权限校验,不要信任前端传来的 user_id。