逻辑越权之水平垂直越权漏洞

越权的原理以及分类

这种漏洞是逻辑层面没有考虑的安全问题

原理

该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定,一旦权限验证不充分,就易致越权漏洞。

分类

水平越权

水平越权:指攻击者尝试访问与他拥有相同权限的用户资源。例如,用户A和用户B属于同一角色,拥有相同的权限等级,他们能获取自己的私有数据(数据A和数据B),但如果系统只验证了能访问数据的角色,而没有对数据做细分或者校验,导致用户A能访问到用户B的数据(数据B),那么用户A访问数据B的这种行为就叫做水平越权访问。

垂直越权

垂直越权:由于后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户只要猜测其他管理页面的URL或者敏感的参数信息,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的

区别:

Untitled

 

案例演示以及工具演示

水平越权

水平越权0

这里我们登录kobe的账户,理论上来说我们只能看到kobe的信息,但是如果这里存在水平越权漏洞,那我们可以看到别的别的用户的信息,这里假设我们前期进行信息收集,收集到一个lucy的用户名。

我门进入后,点击查看个人信息然后 抓包,发现username参数 我们进行修改尝试。

水平越权1

修改完后放包:

发现我们的个人信息变成lucy了。

水平越权2

这就是最典型的水平越权

垂直越权

垂直越权就是用普通用户去做管理员才能做的事情

我们先以管理员视角创建一个用户:

垂直越权0

然后进行抓包:

垂直越权1

然后我们再以普通用户的方式登录:

垂直越权2

此时抓包获取登录用户的cookie:

垂直越权3

我们再找到刚才的数据包,把cookie进行替换,然后发送,发现垂直越权成功,我们以普通用户的身份进行了管理员才能进行的功能。

垂直越权4

至于实战种管理员进行操作的数据包怎么获得,这里有几个思路:

1.普通用户前端有操作界面可以进行抓取数据包

2.获取网站源码本地进行搭建进行抓取

3.盲猜

墨者靶场

打开靶场环境,我们发现有测试账户

mozhe0

我们的目标是通过水平越权获得马春生的个人信息。

我们进行抓取数据包。

mozhe2

我们抓包对card_id 进行爆破,找到有回显的信息,里面有信息,记录下编号

mozhe3

 

我们发现md5加密后的密码:

mozhe4

 

用户名:m233241  密码:9732343

登录即可获得key

工具演示

这里介绍bp上的插件,Authz

直接插件商城安装即可

bp

这里要注意的是配置好Cookie就行,就是你登陆该站的cookie 别的没啥注意的 id 一改直接跑

一般回200 代表存在该漏洞。

修复方案

1.前后端同时对用户输入信息进行校验,双重验证机制
2.调用功能前验证用户是否有权限调用相关功能
3.执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
4.直接对象引用的加密资源 ID,防止攻击者枚举 ID,敏感数据特殊化处理
5.永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

 

 

 

 

 

 

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 共2条

请登录后发表评论