白帽子讲web安全——访问控制
上一章说的认证与会话管理,这章是访问控制,刚看访问控制这章的时候,感觉跟上章的“授权”没什么区别,第一感受就是“授权”。
之后看了才进一步了解,“授权”是好比屋子的主人进来了,那么他可以坐在客厅,也可以进到卧室睡觉,这种情况下就可以说他具有屋子的“最高权限”。如果进来的是客人,那么他可能就仅仅被允许在客厅的了。“授权”在这层上面可以理解的就是被允许做的事情,但是在一个系统中,怎么去限制一个客人只能够待在客厅里面的。这就是“访问控制”来做的事情了,“访问控制”也即是“权限控制”。抽象地说,都是某个主体对某个客体需要实施某种操作,而系统对这种操作的限制就是权限控制。
举个例子:在Linux操作系统中,对文件的访问控制。此时“主体”是系统的用户,“客体”是被访问的文件,能否访问成功,将由操作系统给文件设置的ACL(访问控制列表)决定。一个文件可以执行的操作分为“读”、“写”、“执行”三种,分别由 r、w、x表示。这三种操作同时对应着三种主体:文件拥有者、文件拥有者所在的用户组、其他用户。
在一个安全系统中,确定主体的身份是“认证”解决的问题;而客体是一种资源,是主体发起的请求的对象。在主体对客体进行操作的过程中,系统主体不能“无限制”地对客体进行操作,这个过程就是“访问控制”。
在web应用中,根据访问客体的不同,常见的访问控制可以分为“基于URL的访问控制”、“基于方法的访问控制”和“基于数据的访问控制”。
只是自己平时遇到的在访问控制环节可能的漏洞:
- 未授权访问,这个是指web网页的未授权访问
- 垂直越权
- 登录界面会遇到的多,修改用户名
- 登录时,修改可能POST的角色ID
- 访问其它权限网页时,修改URL中某个参数
- 水平越权
- 同一级的角色,可以获取别人的信息,修改URL中参数ID
以上是暂时想到的,之后再扩展补充。
对于垂直越权,提出的“基于角色的访问控制”来限制,spring security 中的两种权限管理方式,“基于URL的访问控制”、“基于方法的访问控制”。都是以RBAC模型来实现的,在spring security中都是验证该用户所属的角色,以决定是否授权。
对于“基于URL的访问控制”,spring security使用配置文件对访问URL的用户权限进行设定,如下:
<sec:http>
<sec:intercept-url pattern="/president_portal.do**" access="ROLE_PRESIDENT" />
<sec:intercept-url pattern="/manager_portal.do**" access="ROLE_MANAGER" />
<sec:intercept-url pattern="/**" access="ROLE_USER" />
<sec:form-login />
<sec:logout />
</sec:http>
不同的URL对于能访问其的角色有着不同的要求。
白帽子讲web安全——访问控制的更多相关文章
- 读>>>>白帽子讲Web安全<<<<摘要→我推荐的一本书→1
<白帽子讲Web安全>吴翰清著 刚开始看这本书就被这本书吸引,感觉挺不错,给大家推荐下,最近读这本书,感觉不错的精华就记录下, 俗话说>>>好脑袋不如一个烂笔头< ...
- 《白帽子讲Web安全》- 学习笔记
一.为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了). ...
- 白帽子讲web安全——认证与会话管理
在看白帽子讲web安全,刚好看到认证与会话管理:也就是我们在平常渗透测试中遇到最多的登录页面,也即是用户名和密码认证方式,这是最常见的认证方式. 了解两个概念:认证和授权 1):认证的目的是为了认出用 ...
- 白帽子讲web安全读后感
又是厚厚的一本书,为了不弄虚做假,只得变更计划,这一次调整为读前三章,安全世界观,浏览器安全和xss.其它待用到时再专门深入学习. 吴翰清是本书作者,icon是一个刺字,圈内人称道哥.曾供职于阿里,后 ...
- 白帽子讲web安全——一个安全解决方案的诞生细节
1.白帽子:做安全的人.主要做的事,防御,是制定一套解决攻击的方案.而不是只是解决某个漏洞. 2.黑帽子:现在说的黑客.让web变的不安全的人.利用漏洞获取特权.主要做的事,攻击,组合各种方法利用漏洞 ...
- 读书笔记——吴翰清《白帽子讲Web安全》
目录 第一篇 世界观安全 一 我的安全世界观 第二篇 客户端脚本安全 一 浏览器安全二 跨站脚本攻击(XSS)三 跨站点请求伪造(CSRF)四 点击劫持(ClickJacking)五 HTML5 安全 ...
- 《白帽子讲web安全》——吴瀚清 阅读笔记
浏览器安全 同源策略:浏览器的同源策略限制了不同来源的“document”或脚本,对当前的“document”读取或设置某些属性.是浏览器安全的基础,即限制不同域的网址脚本交互 <scr ...
- 白帽子讲Web安全2.pdf
XSS构造技巧 利用字符编码: var redirectUrl="\";alert(/XSS/);"; 本身没有XSS漏洞,但由于返回页面是GBK/GB2312编码的“% ...
- 白帽子讲Web安全1.pdf
第一章 我的安全世界观 安全是一个持续过程 6种威胁:Spoofing(伪装).Tampering(篡改).Repudiation(抵赖).InformationDisclosure(信息泄漏).De ...
随机推荐
- PRINCE2是什么?
PRINCE是PRoject IN Controlled Environment(受控环境下的项目管理)的简称. PRINCE2描述了如何以一种逻辑性的.有组织的方法,按照明确的步骤对项目进行管理. ...
- 手动搭建 redis 集群
转自http://meia.fun/article/1544161420745 手动搭建 redis 集群 redis 基本命令: 启动 redis 服务:redis-server xxx.conf ...
- leetcode题解之分解字符串域名
1.题目描述 A website domain like "discuss.leetcode.com" consists of various subdomains. At the ...
- OSCache-缓存对象
在实际应用中除了JSP标签库,还可以使用OSCache提供的Java API.下面我来介绍一个实用的Java类,使用GeneralCacheAdministrator来建立,刷新和管理缓存. Gene ...
- javascript中return的作用
这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JAVASCRIPT在事件中调用函数 ...
- [翻译] snapshotViewAfterScreenUpdates
snapshotViewAfterScreenUpdates This method very efficiently captures the current rendered appearance ...
- 解决Oracle11g密码180天过期,账号锁住的问题
1.查看用户的proifle是哪个,一般是default: sql>SELECT username,PROFILE FROM dba_users; 2.查看指定概要文件(如default)的密码 ...
- 连接Mysql错误 error 1042 can't get hostname for your address
背景: 1.etc下的hosts文件有: 127.0.0.1 localhost 2.MySQL的my.ini配置文件: [mysqld] 节点下已经加入以下两行代码 skip-n ...
- php常用算法和数据结构
</pre><pre name="code" class="php"><?php /** * Created by PhpStor ...
- JS传递函数并且调用
封装的函数: function getDataByJsonP(methName, inData, fn) { // 这里fn可以直接传入函数名字 $.ajax({ url: '', //请求的url地 ...