权限模型设计缺陷
角色混乱 → 权限继承错误 → 管理接口暴露
RBAC (Role-Based Access Control) 基于角色的访问控制,是最常用的权限模型。
用户 → 角色 → 权限
用户: zhangsan
角色: editor
权限: [read:public, read:own, write:own, write:content]
只在前端隐藏按钮,后端不校验
从请求参数获取角色而非 session
错误的权限判断逻辑
绕过前端隐藏的管理功能,直接调用后端接口
中危通过修改请求参数伪造管理员角色
高危利用错误的权限判断逻辑获取越权访问
高危| ID | 用户名 | 角色 |
|---|---|---|
| 1 | guest_user | guest (游客) |
| 2 | normal_user | user (普通用户) |
| 3 | editor_user | editor (编辑) |
| 4 | admin_user | admin (管理员) |