PiKachu靶场之水平/垂直越权

概述

如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。

一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。

因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;

你可以通过“Over permission”对应的测试栏目,来进一步的了解该漏洞。

 

 

 

一、水平越权

首先登录一下用户kobe的账户:

点击查看个人信息之后,  通过GET请求参数username来查询对应用户的信息:

分析

重点是这里的username参数是可控的,  加入修改为其他值呢?

漏洞利用

若我们知道还有一个lucy用户,  那么把username改为lucy:

从而达到水平越权查看用户信息。

 

 

 

 

二、垂直越权

在垂直越权中,  有两个用户,  一个是admin(超级管理员)和pikachu(普通用户)

权限分配如下:

  • admin  有查看、添加和删除用户的权限
  • pikachu 只有查看用户信息权限

分析

admin用户权限高于pikachu用户,pikachu用户越权操作admin用户的权限的情况称为垂直越权。

漏洞利用

首先登录admin, 然后添加用户:

创建成功之后,  抓一下数据包,  把包发送Repeater模块测试,  再包当前数据包放出去,  保留了Repeater模块的数据包通道 (与服务器连接的独立的通道):

可以看到,  用admin管理员新增了test用户:

这时候退出admin,  在Repeater重新发送创建用户test的请求就会失效,  因为admin已经退出,  没有用户登录是不能执行的:

登录普通用户pikachu (只有查看权限):

记录下用户pikachu的cookie,  这个相当于登录pikachu的标识。

然后回到Repeater模块的通道,  尝试用普通用户pikachu的身份(cookie)去创建新用户hack:

回去查看, 发现成功创建用户hack:

原因是后台没有判断发送这个数据包的用户权限。

 

 

总结

如果要做一个形象的比喻的话:

  • 水平越权就是用别人的卡
  • 垂直越权就是用一百元买一万元的东西
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值