开发规范
后端开发规范
代码规范
安全规范
常见 XSS 漏洞及解决方案
常用 XSS 测试 payload
常见越权漏洞及解决方案
常用越权测试方法
常见 CSRF 漏洞及解决方案
常见高危操作及对策
数据库设计和使用规范
MySQL 设计和使用规范
Redis 设计和使用规范
Django最佳实践
Python最佳实践
前端开发规范
HTML规范
CSS规范
JS规范
Vuejs 规范
PerformanceOpti
MobileSpec
安全检查
webpack
其他
测试规范
测试覆盖范围
测试隔离
-
+
首页
常见越权漏洞及解决方案
## 1 常见越权分类 1. 平行越权 场景 1:普通用户 A 可以访问到普通用户 B 的数据 场景 2:用户可以通过修改请求链接或参数,访问到其它本应无权访问的数据 2. 上下越权 普通用户可以执行管理员的操作 ## 2 场景 1 :对 get 请求中显式的 URL 更改进行越权 ![](https://static.cloudcare.cn/cloudcare-mrdoc/img/2024-07-15_155221_5256100.10353736395479152.png) 对如图的 URL 格式,在没有严格判断的情况下,特别是后台采用 API 模式时,用户通过随意更改/detail/后面的数字,可以绕过权限判断访问任意的页面。 ### 2.1 解决 对所有增、删、改、查的功能中,对用户暴露出的 API,都要进行严格的权限判断 对用户身份,需要操作的 id 需要做严格的校验,建议在 RUL 中加入业务字段,根据业务字段判断用户是否有操作权限 ### 2.2 测试 将 URL 中的 id 更改为权限外的页面 id,检查是否能越权访问以及返回页面是否符合预期 ## 3 场景 2: 对 post 请求中的预置参数更改进行越权 一些固定的 post 参数,如 hidden 属性的 input,或 ajax 的 data 中在页面返回时就确定的信息,都是可能被修改的 ![](https://static.cloudcare.cn/cloudcare-mrdoc/img/2024-07-15_155229_6741810.8647185899916416.png) 如图,页面在后端渲染时确定了一个 report_id,用户点击按钮时就会拿这个 id 去下载相应的文件。如果在下载逻辑中没有进行权限控制,则可能被修改 id 来下载任意文件,造成越权。 ### 3.1 解决 同场景 1,完善各个视图函数的权限控制。 ### 3.2 测试 使用 Postman 或其他 chrome 插件来模拟、修改 POST 请求 使用 fiddler 抓取请求包,修改 post 请求中的参数 ## 4 场景 3: 非管理员用户访问管理界面 通常 app 中会设定一个管理员界面,方便进行一些配置工作。一般的做法是前端进行控制,管理界面的 url 不会暴露给非管理员用户,但是不排除非管理员通过各种手段获取到所有 url 并进行访问。 ### 4.1 解决 后台管理相关的操作,需要在后台对操作用户进行权限校验,避免非法用户的访问 ### 4.2 测试 用普通用户的账号尝试访问管理员界面或者管理操作的 cgi
吴晓俊
2024年7月15日 15:52
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码