pikachu——Over Permission(越权漏洞)

概述:

由于没有对用户权限进行严格的判断

导致低权限的账号(比如普通用户)可以去完成高权限账号(比如超管)范围内的操作

分为水平越权垂直越权

水平越权:A用户和B用户属于同一级别用户,但各自不能操作对方个人信息。A用户如果越权操作B用户个人信息的情况称为水行越权操作。

垂直越权:A用户权限高于B用户,B用户越权操作A用户的权限的情况称为垂直越权。

 

越权漏洞属于逻辑漏洞,是由于权限校验的逻辑不够严谨导致的

每个应用系统其用户对应的权限是根据其业务功能划分的,而每个企业的业务又都是不一样的

因此越权漏洞很难通过扫描工具发现,往往需要通过手动进行测试

 

水平越权:

我们登录一下,右上角有提示账号密码。我还是用lili的了,登录之后我们点击 “点击查看个人信息” 就能查看个人信息。

 

 

 在这里实际上是通过一个 GET 请求,将要查询的用户信息传递到了后台,

 

我们把 lili 修改为 lucy,提交请求后我们就能查看 lucy 的信息,说明是存在水平越权的漏洞

 

 

 

这样,没有经过密码验证就查看了其他平级用户的信息,这是水平越权。

 

 

 

垂直越权:

我们先登录超级管理员的账号,这里有两个用户admin/123456,pikachu/000000。admin是超级管理员

 

 

 我们现在添加一个用户:

然后抓包,这是他新建的用户的数据包,并且有登录状态的cookie,把这个请求发送到 Repeater 中

然后退出管理员账号,重放这个数据包,这时候用户是会添加失败的,因为没有登录状态。登录普通用户账号,取出当前账号的Cookie

用上图中的Cookie修改我们刚刚发送到 Repeater 中那个数据包的  Cookie,再重放这个数据包。

 

 

 

这时候就添加了另一个用户,第一个是超级管理员添加的;另一个是普通用户重放超级管理员的数据包添加的。

 

 

 普通管理员去做超级管理员的操作就是垂直越权,但是比较鸡肋 因为现实很难抓到超级管理员的包。

 

posted @ 2020-03-23 20:02  戚源  阅读(533)  评论(0编辑  收藏  举报