web安全开发指南--权限管理
2.1 访问控制安全规则
|
1 |
访问控制必须只能在服务器端执行。 |
|
2 |
只通过session来判定用户的真实身份,避免使用其它数据域的参数(比如来自cookie、hidden域、form和URL参数等)来做访问控制。 |
|
3 |
对web/应用服务器进行安全配置以防止用户对静态文件的无鉴权访问(参考附录11.6)。 |
|
4 |
对每一个请求页面都执行严格的访问控制检查(参考附录11.2)。 |
|
5 |
应建立集中式的权限验证接口(参考附录) |
2.2 纵向越权
|
简要描述 |
如果一名用户能够执行某项功能,但分配给他的角色不具有这种权限,就表示出现了纵向越权漏洞。 |
|
|
解决方案 |
建议使用基于角色访问控制机制来防止纵向越权攻击,即预先定义不同的权限角色,为每个角色分配不同的权限,每个用户都属于特定的角色,即拥有固定的权限,当用户执行某个动作或产生某种行为时,通过用户所在的角色判定该动作或者行为是否允许(参考附录11.2.1)。 |
|
|
备注 |
||
2.3 横向越权
|
简要描述 |
如果一名用户能够查看或修改他没有资格查看或修改的资源,就表示出现了横向越权漏洞。 |
|
|
解决方案 |
2.3.1、可通过建立用户和可操作资源的绑定关系,用户对任何资源进行操作时,通过该绑定关系确保该资源是属于该用户所有的。 2.3.2、对请求中的关键参数进行间接映射,避免使用原始关键参数名,比如使用索引1代替id值123456等(参考附录11.2.2)。 |
|
|
备注 |
||
提示:如果IE显示不正常,请使用chrome浏览器
web安全开发指南--权限管理的更多相关文章
- Web安全开发指南--会话管理
1.会话管理 3.1.会话管理安全规则 1 避免在URL携带session id. 2 使用SSL加密通道来传输cookie. 3 避免在错误信息和调试日志中记录session id. 4 使用框架自 ...
- Web安全测试指南--权限管理
垂直权限提升: 编号 Web_Author_01 用例名称 垂直权限提升测试 用例描述 测试用户是否具有使用超越其角色范围之外的权限. 严重级别 高 前置条件 1. 目标系统拥有不同等级的角色和权限 ...
- 转:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法、shiro认证与shiro授权
原文地址:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法.shiro认证与shiro授权 以下是部分内容,具体见原文. shiro介绍 什么是shiro shiro是Apache ...
- axis1,xfire,jUnit 测试案列+开Web Service开发指南+axis1.jar下载 代码
axis1,xfire,jUnit 测试案列+Web Service开发指南(中).pdf+axis1.jar下载 代码 项目和资源文档+jar 下载:http://download.csdn. ...
- 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)
版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...
- Spring Boot + Vue 前后端分离开发,权限管理的一点思路
在传统的前后端不分的开发中,权限管理主要通过过滤器或者拦截器来进行(权限管理框架本身也是通过过滤器来实现功能),如果用户不具备某一个角色或者某一个权限,则无法访问某一个页面. 但是在前后端分离中,页面 ...
- Web安全开发指南--文件系统
6.1.上传文件功能 简要描述 文件上传漏洞是由于文件上传功能实现代码没有对用户上传的文件进行正确处理,导致允许攻击者向服务某个目录上传文件. 解决方案 上传文件功能只对登录用户开放: 同时通过文件头 ...
- Agile.Net 组件式开发平台 - 权限管理组件
RBAC原则 (1)最小权限原则之所以被RBAC所支持,是因为RBAC可以将其角色配置成其完成任务所需要的最小的权限集. (2)责任分离原则可以通过调用相互独立互斥的角色来共同 ...
- web安全开发指南--认证
1.认证 1.1. 认证和密码管理安全规则 1 认证控制必须只能在服务器端执行. 2 除了指定为公开的资源,对所有其它资源的访问都必须先经过认证. 3 为所有关键凭证实施防"暴力 ...
随机推荐
- Cause: java.lang.ClassCastException: java.lang.String cannot be cast to org.apache.ibatis.mapping.MappedStatement
我用的是pagehelper 4.2.0,利用其进行表单的分页处理并进行展示,在第一次执行的时候能够看到分页后的结果,刷新一下第二次就显示不出来,控制台出现: Cause: java.lang.Cla ...
- 实现点击页面其他地方,隐藏div(vue)
方法一: 通过监听事件 document.addEventListener('click',function(e){ if(e.target.className!='usermessage'){ th ...
- CSS3新属性解释及用法
一. transition(a标签hover渐隐效果) a:hover{transition: color 0.15s linear 0s, background-color 0.3s linear ...
- tomcat修改内存
windows: 修改bin/catalina.bat, 第一行添加 set JAVA_OPTS=-Xms256m -Xmx512m linux: 修改bin/catalina.sh 第一行添加 JA ...
- 利用CSS3伪类做3D按钮
这是通过css3伪类实现的3d按钮,html代码为: <div id="container_buttons"> <p><a class="a ...
- RedHat7/Centos7 搭建NFS服务器
https://blog.csdn.net/u012124304/article/details/81001068 客户端和服务器都得安装nfs-utils
- CSS优先级问题以及jQuery中的.eq()遍历方法和:eq()选择器的差别
在写一个TAB选项卡的时候遇到几个有意思的问题,记录下来 先把代码贴出来 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transition ...
- 自动选择profile
cobbler system list cobbler profile list 方式一:自动选择profile cobbler system add --name="linux-node1 ...
- 常用的smarty变量操作
php模板引擎smarty的变量操作符可用于操作变量,自定义函数和字符.语法中使用"|"应用变量操作符,多个参数用":"??指簟?/DIV> capita ...
- css文本、字母、数字过长 自动换行处理
---恢复内容开始--- white-space: normal|pre|nowrap|pre-wrap|pre-line|inherit;white-space 属性设置如何处理元素内的空白norm ...