垂直越权漏洞原理和测试流程案例
我们先把垂直越权漏洞的思路理一下
首先我们先用一个超级管理员的账号去登陆一下
然后我们对超级管理员的账号独一无二的权力去进行操作
然后我们把这个操作的数据包给抓下来
抓下来之后 我们就退出超级管理员的登陆,我们用普通账号,来进行一次这个超级操作
如果这个操作可以成功,就意味着这个操作存在着垂直越权的漏洞
我们来演示一遍
首先超级管理员身份登陆
进来以后我们可以看到,超级管理员可以添加删除用户,还可以看到所有的用户,
那么我们就添加一个用户试试
我们可以在用户列表上看到我已经成功添加了
我们到burp上看看他的提交(post)
老规矩 发到repeater里面去
之后我们退出超级管理员登陆,此时应该是无法执行这个操作了
再跑一遍发现果然不行了
再次登陆进去也发现没有第二个用户添加,没有问题
接着我们登陆普通管理员
这个管理员只有查看权限
刷新一下,去抓这个get请求
我们复制一下当前用户的登陆态
Cookie: PHPSESSID=8eu1upm026h9ptpb7fsot6cou6
再找到之前的post请求
我们把它发到repeater里面去,如果发包的话 还是会提示你需要登陆超级管理员
那我们把他的登陆态cookies换成普通管理员的呢?
GO!
点跟踪以后,我们回到页面刷新
发现用户又被增加了一个
这就说明这个地方存在垂直越权漏洞
这个地方存在的原因是后台代码没有对当前登陆账号的操作进行权限验证导致的