概述

 

如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。
一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
因此,在权限管理中应该遵守
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;

水平越权 :A用户和B用户属于同一级别用户,但各自不能操作对方个人信息,

但是A用户越权操作了B用户的个人信息的情况

垂直越权 :A用户权限高于B用户,但是B用户越权操作了A用户的权限

越权漏洞属于逻辑漏洞,是由于权限校验的逻辑不够严谨导致的,很难通过扫描工具发现出来,往往需要通过手动进行测试

水平越权

根据提示登陆

 

 

可以查看个人信息

 

 

 url中有用户名的参数,我们修改一下

 

查看源码(路径如下)

 

 这里没有对用户登陆进行判断,导致没有经过验证就查看了其他平级用户的信息,这是水平越权。

垂直越权

查看提示

首先登录admin超级管理员用户:发现有管理用户的权限

 

 我们可以添加一个用户

 

 

 

 在点击创建的时候抓包,可以看到数据包,并且有登录状态的cookie

我们将其发送到Repeater,在抓包的页面我们点击Forward把包放出去,让它新建成功。

然后退出超级管理员用户,进入Repeater,点击GO,没有什么变化,是因为退出了admin,它的cookie无效了。

我们可以观察到出来一个重定向。我们点击重定向(Follow redirection),会重定向到登录的页面,因为在重定向之前退出了admin

登录普通用户账号

退出,重新登陆抓包,取出当前用户的Cookie,PHPSESSID=43f3f49ef91399b1fbb011f6fb8d9792

将这个Cookie复制到超级管理员抓的包中,因为我们上一个发送到Repeater的包已经被重定向了,所以我们要找到原来抓的数据包,重新发到Repeater里,再把Cookie的值进行替换,然后点击Go

 然后刷新下页面,登陆上(记得代理的状态,所有在浏览器上操作都要在无代理条件下运行,而burpsuite只能在手动代理才可以) 

 又出现了一个用户,那么第一个是超级管理员添加的;另一个是普通用户重放超级管理员的数据包添加的。

 

 posted on 2020-04-01 17:51  骑着七彩祥云的少年  阅读(197)  评论(0编辑  收藏  举报