系统垂直越权与水平越权漏洞修复记录

最近系统的安全渗透测试中,检测出存在垂直越权和水平越权的漏洞。确实项目的权限管理,只是限制到菜单和按钮粒度,没有细到业务代码的每个接口上。在此记录一下自己的修复思路。

一、什么是垂直/水平越权?

水平越权

何为水平越权呢?就是相同权限用户之间在未经授权的情况下,可以访问到一方的资源。比如说同是一个网站的普通用户A和B,A通过越权操作访问了B的信息。

例如用户A与用户B属于同一角色,拥有同样菜单权限,但他们拥有私人的客户数据(A私有数据,B私有数据),假如B用户获取到了某条A私人数据信息(例如数据id),通过调用同样的查询接口,成功查询了到该私人数据的详细信息,那么这种行为就叫做水平越权访问。


垂直越权

垂直越权呢,就是低权限用户实现了高权限用户的功能。比如普通用户通过越权登录到了管理员页面,实现管理员才能的操作。

例如管理员A可查看编辑系统所有人员信息,普通用户B只能查看编辑自己部门的人。但是用户B通过抓包获取了其他部门用户C的id,调用修改接口,成功把18岁的C改成了38岁。那么这种行为就叫做垂直越权访问。

二、如何防范?

由于,我接手这个漏洞时,修复时间很紧迫,所以就用了最简单粗暴的方式。

思路

利用每个模块的查询功能,默认所见即为你可以操作。在每个接口执行前,默认查询该登陆用户的查询所有结果,再将执行的业务数据id对比查询结果,如果在其中则正常操作,如果不在其中则抛出越权结果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值