逻辑漏洞之越权漏洞

导读:本篇文章讲解 逻辑漏洞之越权漏洞,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

什么是越权漏洞?

顾名思义,越权漏洞就是由于设计上的缺陷对应用程序的权限做的不好。通俗点来说,就是用户A可以通过某种方式查看到用户B的个人信息,或者可以查看管理员C的一些相关信息。
分类

越权漏洞主要分为水平越权和垂直越权。下面来说一说他们的区别。

水平越权:就是攻击者尝试访问与他相同权限的用户的一些资源。举一个简单的例子,用户A在这个应用程序里保存了自己的个人信息,并且通过相关参数直接获取,用户B在保存个人信息的页面,输入了A用户的参数,直接查看到了A用户的个人信息。

为什么会出现这种情况呢?我们知道通常情况下,一个应用程序的功能流程是:登陆=>提交请求=>验证权限=>数据库查询=>返回结果。如果权限验证做的不好,就会出现越权。

都包括哪些情况呢?

比如直接对象引用,这种情况直接修改参数就可以发生越权,例如,我想查看A用户的信息,直接将URL后的参数改为A用户的就可以了。这里有一个实例,现在登陆张三用户,抓包如下图

逻辑漏洞之越权漏洞_逻辑漏洞
逻辑漏洞之越权漏洞_逻辑漏洞_02

现在将5改为2,然后发送数据包,我们发现用户变为1了

逻辑漏洞之越权漏洞_逻辑漏洞_03

还有比如一个功能,多步实现,只在第一步验证用户身份,其他不用,这样攻击者直接跳过第一步,执行下面的操作。

还有如果对身份验证做的不完善,有可能在未登录的情况下,知道敏感页面URL可以直接访问。

垂直越权:也叫权限提升攻击,例如,用户A通过构造URL直接进入了管理员B的页面。

包括哪些情况呢?

比如设计者通过隐藏URL的方式,通过URL实现访问控制,这是最不靠谱的,要是攻击者猜出后台路径,直接歇菜。

修复建议

对于水平越权:

增加访问与操作对象的用户属性,在对目标对象进行访问与操作时,服务端校验会话与对象的用户属性,在校验通过后才能执行读取和操作。                      
页面进行严格的访问权限的控制以及对访问角色进行权限检查。

对于垂直越权:

采取默认拒绝机制,采取基于角色访问控制,对于各个功能的访问,规定不同角色拥有不同的访问权限,用户访问功能时,验证用户现在的权限和规定的权限是否相同,如果奴同,拒绝访问。

《黑客攻防技术宝典Web实战篇》对访问控制进行了整理,我拍了下来分享出来,如下图

逻辑漏洞之越权漏洞_逻辑漏洞_04

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/77646.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!