大纲

图一
逻辑越权漏洞不像前面那些漏洞一样具有一定的系统影响(危害大),只是一些代码层面上的逻辑漏洞。
此类漏洞不限于各种脚本,不与网站脚本以及搭建环境相关,是一类通用漏洞。

越权

1、越权分为水平越权以及垂直越权、还有未授权访问。
图二
2、基本概念:
水平越权(危害较小–平级用户间的跨越):通过更换的某个 ID 之类的身份标识,从而使 A 账号获取(修改、删除等)B 账号数据。
垂直越权(危害较大–权限的跨越):使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作–但是实现前提比较苛刻(感觉与CSRF差不多,都要获取对应敏感操作的数据包,只不过垂直越权看重的是获取那个数据包的cookie)。
未授权访问:通过删除请求中的认证信息后重放该请求,依旧可以访问或者完成操作–不需要用户(不需要登录)。
3、漏洞成因:
本地pikachu靶场演示水平垂直漏洞成因(重要,因为不止讲了成因,还有一些思路):6:58
墨者水平-身份认证失效漏洞实战(漏洞成因):27:28
(1)、burp suite的活学活用,不可拘泥于抓包。
4、漏洞原理
(1)、前端安全造成(前端代码逻辑问题),安全验证写在前端(判断用户等级之后,在用户的代码界面进行可选显示)–仅仅只是判断等级,不给予显示而已,但数据内容存在。
ps:但是如果前端在用户申请某一操作前进行安全验证,那这种是有效的,较为安全。
(2)、后端安全造成,数据库验证。一般按照组编号或用户类型编号判断当前用户属于什么级别。如果在访问数据包中有传输用户的编号、用户组编号或类型编号的时候,那么尝试对这个值进行修改,就是测试越权漏洞的基本操作。

具体分析

检测

越权检测-小米范越权漏洞检测工具(工具使用):1:04:00
越权检测-Burpsuite 插件 Authz 安装测试(插件使用)–推荐:1:09:00

修复防御方案

1.前后端同时对用户输入信息进行校验,双重验证机制
2.调用功能前验证用户是否有权限调用相关功能
3.执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
4.直接对象引用的加密资源 ID,防止攻击者枚举 ID,敏感数据特殊化处理
5.永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤