访问控制漏洞和特权升级(Access control vulnerabilities and privilege escalation)学习笔记

笔者burpsuite的在线安全学院的Access control vulnerabilities and privilege escalation学习笔记。笔者认为这这个的覆盖面比国内俗称的越权要广,所以就直译了。限于本人水平,笔记质量不是很高,假如有看到的大佬轻喷,很多地方是Google翻译的。

文章目录

访问控制漏洞和特权升级

在本节中,我们将讨论什么是访问控制安全性,描述特权升级以及访问控制可能引起的漏洞类型,并概述如何防止这些漏洞。

什么是访问控制?

访问控制(或授权)是对谁(或什么)可以执行尝试的操作或访问他们所请求的资源的约束条件的应用。在Web应用程序的上下文中,访问控制取决于身份验证和会话管理:

  • 身份验证可以识别用户并确认他们就是他们所说的身份。
  • 会话管理标识该同一用户正在发出哪些后续HTTP请求。
  • 访问控制确定是否允许用户执行他们尝试执行的操作。
    损坏的访问控制是一个经常遇到且通常很关键的安全漏洞。访问控制的设计和管理是一个复杂而动态的问题,将业务,组织和法律约束应用于技术实施。访问控制设计决策必须由人决定,而不是技术决定,而且出错的可能性很高。
    从用户的角度来看,访问控制可以分为以下几类:
  • 垂直访问控制
  • 水平访问控制
  • 上下文相关的访问控制在这里插入图片描述

访问控制安全模型

什么是访问控制安全模型?

访问控制安全模型是一组独立于技术或实现平台的访问控制规则的正式定义。访问控制安全模型是在操作系统,网络,数据库管理系统以及后台,应用程序和Web服务器软件中实现的。这些年来,已经设计了各种访问控制安全模型,以使访问控制策略与业务或组织规则以及技术变化相匹配。

程序访问控制

使用程序化访问控制,用户权限矩阵存储在数据库或类似数据库中,并且参考该矩阵以编程方式应用访问控制。这种访问控制方法可以包括角色或组或单个用户,流程的集合或工作流,并且可以非常精细。

自由访问控制(DAC)

使用任意访问控制,将根据用户或指定的用户组来限制对资源或功能的访问。资源或功能的所有者可以为用户分配或委派访问权限。该模型非常精细,具有对单个资源或功能以及用户的访问权限。因此,模型的设计和管理可能变得非常复杂。

强制访问控制(MAC)

强制访问控制是一种访问控制的集中控制系统,其中,对象对某些对象(文件或其他资源)的访问受到限制。值得注意的是,与DAC不同,资源的用户和所有者不具备委派或修改其资源访问权限的能力。该模型通常与基于军事许可的系统相关联。

基于角色的访问控制(RBAC)

使用基于角色的访问控制,可以定义命名角色,并为其分配访问权限。然后,将用户分配给单个或多个角色。RBAC提供了对其他访问控制模型的增强管理,如果设计得当,则可以提供足够的粒度以在复杂应用程序中提供可管理的访问控制。例如,采购员可以定义为对采购分类帐功能和资源的子集具有访问权限的角色。当员工离开或加入组织时,访问控制管理将简化为定义或撤销采购员角色的成员资格。
当有足够的角色来适当地调用访问控制,但又没有太多的角色使模型过于复杂和难以管理时,RBAC最为有效。

垂直访问控制

垂直访问控制是一种机制,用于限制对其他类型的用户不可用的敏感功能的访问。

使用垂直访问控制,不同类型的用户可以访问不同的应用程序功能。例如,管理员可能能够修改或删除任何用户的帐户,而普通用户无权访问这些操作。垂直访问控制可以是安全模型的更细粒度的实现,这些模型旨在实施业务策略,例如职责分离和最低特权。

水平访问控制

水平访问控制是一种机制,用于将资源的访问限制为专门允许访问这些资源的用户。

使用水平访问控制,不同的用户可以访问同一类型的资源的子集。例如,银行业务应用程序将允许用户查看交易并从自己的帐户进行付款,但不能查看其他任何用户的帐户。

上下文相关的访问控制

上下文相关的访问控制根据应用程序的状态或用户与应用程序的交互来限制对功能和资源的访问。
上下文相关的访问控制可防止用户以错误的顺序执行操作。例如,零售网站可能会阻止用户在付款后修改购物车中的内容。

损坏的访问控制示例

当用户实际上可以访问某些资源或执行某些他们不应该访问的资源时,存在断开的访问控制漏洞。

垂直特权升级

如果用户可以访问他们被禁止访问的功能,那么这就是垂直特权升级。例如,如果非管理用户实际上可以访问可以删除用户帐户的管理页面,则这是垂直特权升级。

未受保护的功能

在最基本的情况下,如果应用程序不对敏感功能实施任何保护,则会出现垂直特权升级。例如,管理功能可能是从管理员的欢迎页面链接的,而不是从用户的欢迎页面链接的。但是,用户可能直接通过直接浏览到相关的管理URL就能访问管理功能。
例如,一个网站可能在以下URL上托管敏感功能:https://insecure-website.com/admin
实际上,任何用户都可以访问此目录,不仅是在其用户界面中具有指向该功能链接的管理用户。在某些情况下,管理URL可能会在其他位置公开,例如robots.txt文件:https://insecure-website.com/robots.txt
即使未在任何地方公开该URL,攻击者也可能能够使用单词列表对敏感功能的位置进行暴力破解。

Lab: Unprotected admin functionality

  1. burp会自动爬取robot.txt,Target-sitemap-找到对应网站-robot.txt在这里插入图片描述
  2. burp请求,看到对应页面,然后在浏览器删除即可在这里插入图片描述
    在某些情况下,敏感功能没有得到严格的保护,而是通过给它提供了较不可预测的URL来隐藏起来:所谓的“默默无闻的安全性”。仅隐藏敏感功能无法提供有效的访问控制,因为用户可能仍会以各种方式发现混淆的URL。
    例如,考虑一个在以下URL上承载管理功能的应用程序:https://insecure-website.com/administrator-panel-yb556
    攻击者可能无法直接猜测到这一点。但是,该应用程序仍可能会将URL泄露给用户。例如,URL可能会在JavaSc
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值