业务逻辑漏洞之水平越权和垂直越权

本文详细讲解了越权漏洞的原理,包括水平越权与垂直越权的区别,以及通过pikachu靶场实例展示两种类型的漏洞形成过程。重点介绍了前端隐藏权限问题和后端权限验证不足的情况,以及如何通过数据包分析和权限注入进行攻击。
摘要由CSDN通过智能技术生成

越权漏洞原理

浏览器对用户提交的数据请求没有经过严格的权限设置,导致用户可以拥有观察或更改其他用户信息的功能。

越权漏洞被分为两类
一类是水平越权,一类是垂直越权。

水平越权 :用户在权限相同级别下的组,可以进行越权访问、修改、删除数据。

垂直越权 :用户在不同权限下的组,可以进行高级别的权限使用。

漏洞成因

前端原因:
只对页面进行更高权限的隐藏

实际上并没有对后端的进行一个权限过滤,只是对前端进行隐藏。根据用户权限的判断,进行选择显示,但是功能点还是可以触发。

正确的做法应该是用户权限与功能点进行绑定。

后端原因:
1.没有进行权限设置(通常来说我们是判断用户组编号、用户等级、用户组来确定权限)
2.没有进行参数过滤
3.数据库中同组成员不同权限

拿pikachu靶场的垂直越权源码举例
在这里插入图片描述

靶场验证

1.水平越权
进入靶场随便创一个新用户,查看信息,并进行抓包观察。是否有可以利用的点。
在这里插入图片描述在这里插入图片描述

这里可以看到我们的用户名是可以修改的。我们随便改一个用户的名称,观察是否可以进行数据读取。

在这里插入图片描述

可以看到,我们改变username就能查看其他用户的信息。(我们这里有个问题就是怎么获取其他用户的username。其实是由很多办法的,比如相同账号名不能创建、在网页中浏览用户、在url中进行uid遍历)

漏洞成因
没有进行session验证。
在这里插入图片描述

2.垂直越权
我们先抓取一下添加用户的数据包
在这里插入图片描述

我们退出admin账户,进入pikachu账户。在pikachu账户这里进行用户添加。
在这里呢我们使用admin的seesion明显是不行的。我们将seesion改为pikachu的。
在这里插入图片描述
在这里插入图片描述
可以看到已经成功创建。

漏洞成因
在这里插入图片描述
他只验证了一个登录的状态,没有对权限进行一个验证。

注入条件
1.获取数据包
在前端中有提交新用户系统,但是对等级有限制,这时我们就可以根据这个数据包进行修改。

有网站源码,可以自己搭一个本地环境进行测试。

猜测添加用户的数据包。

2.对用户等级没有限制

墨者实例靶场

在这里插入图片描述

他这里是想让我们通过test这个用户进行越权访问马春生这个用户的信息。

我们先登录账号再抓一只下包看看利用点。

在这里插入图片描述在这里插入图片描述

像这里的uid和card_id一看就是可以进行修改的地方。

我们将uid改为machunsheng试试,发现不能进行访问,应该是uid改为了其他值。
在这里插入图片描述
查看页面的源代码,发现和card_id结构相似,我们尝试一下。
在这里插入图片描述
在这里插入图片描述

这里把编号为20128880317的username和passwd爆出来了。
根据观察尾号16就是马春生。这里的passwd应该是md5加密的,我们用在线解密一下就可以了。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

到这里就完成了。

在没有提示的情况下可以使用burpsuit的爆破功能。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值