33 lines
889 B
Markdown
33 lines
889 B
Markdown
# 权限遗漏反例
|
|
|
|
## 场景
|
|
|
|
敏感删除或作废按钮在前端按权限隐藏,但后端接口没有权限校验。
|
|
|
|
## 问题代码表现
|
|
|
|
| 层级 | 表现 |
|
|
| --- | --- |
|
|
| 前端 | 普通业务账号看不到删除按钮 |
|
|
| 后端 | 直接请求删除或作废接口仍可成功 |
|
|
| 审计 | 删除记录可能缺失 |
|
|
|
|
## 风险
|
|
|
|
攻击者或误操作用户可以绕过前端直接调用接口删除或作废业务数据。
|
|
|
|
## 修复要求
|
|
|
|
1. 后端删除接口增加权限校验。
|
|
2. 删除前校验数据范围。
|
|
3. 删除成功写审计日志。
|
|
4. 无权限账号直接请求接口返回 403 或业务拒绝。
|
|
|
|
## 验收
|
|
|
|
| 账号 | 操作 | 预期 |
|
|
| --- | --- | --- |
|
|
| 管理员或授权角色 | 删除允许删除的数据 | 成功并写审计 |
|
|
| 普通业务角色 | 直接请求删除接口 | 失败 |
|
|
| 只读角色 | 前端访问删除按钮 | 不可见 |
|