| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 【Web安全】访问控制 -> 正文阅读 |
|
[网络协议]【Web安全】访问控制 |
目录 1、权限与授权????????权限控制,或者说访问控制,指的是当用户需要执行某个操作时,系统对这种操作的权限限制就是权限控制。 ? ? ? ? 在网络中,一般是通过路由设备或者防火墙建立基于IP的访问控制。 ? ? ? ? 在操作系统中,对于文件也有访问控制,如在Linux中,就可以用r、w、x表示对文件的读、写、执行三种操作,这三种操作同时对应着三种主体:文件拥有者、文件拥有者所在的用户组、其他用户。 ? ? ? ? 在Web应用中,常见的访问控制可以分为“基于URL的访问控制”、“基于方法的访问控制”和“基于数据的访问控制”。? ? ? ? ? ? ? ? ? ? ? 通常网页的未授权访问只是把需要保护的页面“藏”起来,但只要攻击者构造出正确的URL就可以访问到这些页面,通过对后台路径的字典的爆破,很容易得到URL路径。比如管理员页面的URL经常包含admin这样的敏感词汇。? ? ?? 2、垂直权限管理????????访问控制实际上是建立用户与权限之间的对应关系,这种基于角色的访问控制,简称RBAC。 ? ? ? ? ?RBAC事先在系统中定义出不同的角色,不同角色有不同权限,一个用户可能拥有多个角色,角色之间有高低之分,在系统验证权限时,只需要验证用户所属的角色,再根据角色的权限进行授权。 ????????这种基于角色的权限管理,我们称为“垂直权限管理”。 ? ? ? ? 比如一个普通用户通过某些方法获得了管理员的权限,则发生了垂直越权访问。 3、水平权限管理? ? ? ? ?通过某种方法可以获得其他同等级用户的权限,称为水平权限越权。 ????????例如用户可通过修改下面地址中的id就可以查看他人的来往信件、查看和修改他人的专辑信息。(优酷网用户越权访问) ? ? ? ? ?在RBAC这种“基于角色的访问控制”的模型下,系统只会验证用户A是否属于角色RoleX,而不会判断用户A是否只能访问只属于用户B的数据DataB,因此,发生了越权访问,这种问题我们就称为“水平权限管理问题” ? ? ? ? ?相对于垂直权限管理来说,水平权限问题出在同一个角色上。系统只验证了能访问数据的角色,既没有对角色内的用户做细分,也没有对数据的子集做细分,因此缺乏一个用户到数据之间的对应关系。由于水平权限管理是系统缺乏一个数据级的访问控制所造成的,因此水平权限管理又可以称为“基于数据的访问控制”。 4、OAuth? ? ? ? OAuth是一个在不提供用户名和密码的情况下,授权第三方应用访问Web资源的安全协议。 OAuth和OpenID都致力于让互联网更加的开放。OpenID解决认证问题,OAuth则更注重授权。 ? ? ? ? 比如在人人网上想要导入MSN里的好友,如果没有OAuth,则需要在人人网上登录MSN,人人网则会掌握用户的MSN的账户和密码。 ? ? ? ? ?而使用OAuth使得用户在不需要向人人网提供MSN用户名和密码的情况下仍可以导入MSN好友名单。 ? ? ? ? 在OAuth中,有3个角色:Client消费方、Server服务提供方、Resource Owner用户。在上面的例子中,Client是人人网,Server是MSN,Resource Owner是用户。 ? ? ? ? 下图是新浪微博OAuth的授权过程。 ? ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 15:54:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |