漏洞介绍
概述:垂直越权漏洞常见于后台业务系统,当业务系统分为多种角色权限的时候,常会出现低权限用户页面上无高权限用户的功能,但是却可以通过调用接口来进行高权限用户的操作,从而导致垂直越权漏洞出现
测试方法
1.首先用两个浏览器登录高权限账号以及低权限账号,获取到两者的cookie或认证头。
2.通过操作高权限用户的功能(低权限页面上并没有该功能),获取到url地址清单
3.用低权限用户的cookie 去调用该url地址清单,看看接口是否会正常响应
4.若和高权限用户一样正常响应,说明存在漏洞,若显示无权限访问之类的,说明不存在
漏洞案例
1.低权限的用户登录后台系统,显示无后台菜单栏
2.通过burpsuitg工具中authmatrix模块,分别填入超级管理员以及低权限用户的cookie,然后分别取调用高权限用户的的接口,发现低权限用户的账号也成功建立配置项,下图中的接口只允许超级管理员创建的,但是0011的低权限账号也成功创建,说明存在漏洞
修复方法
1.首先梳理处完整管理员接口以及用户角色,针对每种角色做对应可以调用的url,并入库保存
2.通过在会话里写入用户角色类型,在调用接口前,判断用户当前的角色是否可以调用该URL
PS:垂直越权和水平越权都可以通过替换的COOKIE的方式来判断