攻击访问控制
逻辑越权从技术上来说就是访问控制存在缺陷。以下攻击访问控制即为逻辑越权。 从客户端的请求,Web应用程序要做到以下两点识别:
- 核实用户身份
- 确认请求序列由该用户提出
基于这两点,web服务端决定是否允许某个请求执行特定的操作或访问它请求的资源。访问控制是个应用程序的重要防御机制,因为它负责做出这些关键决定。如果访问孔子存在缺陷,攻击者往往能够攻破整个应用程序,控制其管理功能并访问属于其他用户的敏感数据。
概念
访问控制漏洞:应用程序允许攻击者执行某种攻击者没有资格执行的操作 各种漏洞之间的差异实际上可归结为这些核心漏洞表西安方式上的不同,以及检测它们所需使用的技巧之间的差异。
分类
访问控制可分为三大类:
????垂直访问控制允许不同的用户访问应用程序不同的功能。例如你在CSDN查看我的文章,如果你不喜欢,你不能下架我的文章,这是管理员才有的权限。这种情况下,应用程序通过这种控制界定普通用户和管理员 ????水平访问控制允许用户访问一组相同类型的、内容极其广泛的资源。你是CSDN用户,我也是CSDN用户,,我们在这上面能做的操作都一样。 ????上下文相关的访问控制可确保基于应用程序当前的状态,将用户访问权限仅限于所允许的内容。例如某个过程中,用户需要完成多个阶段的操作,上下文相关的访问控制可防止用户不按规定的顺序访问这些阶段。
如果用户能够访问他无权限访问的功能或资源,就表示访问控制存在缺陷,即存在逻辑越权漏洞。主要由三种类型的以访问控制为攻击的目标,分别与三种访问控制相对应:
- 垂直权限提升:一名用户能够执行某项功能,但分配给他的角色并不具有这种权限。即普通用户执行管理员的操作
- 水平权限提升:一名用户能够查看或修改他没资格的查看或修改的同级别的资源。如你可以编辑我这篇的文章
- 业务逻辑漏洞:用户可以利用应用程序状态机中的漏洞获得关键资源的访问权限。如用户能够避开购物结算序列中支付步骤
实战
pikachu水平越权
水平越权,即要用我的账号,查看你的账号的学习资源。看提示,有用户kobe、lucy。
- 登录kobe账号
- 如上图所示,用burpsuite抓包“查看信息”
- 将kobe改为 lucy,返回lucy的信息
参考
几乎照搬《黑客攻防技术宝典Web实战篇》
|