admin管理员组文章数量:1567009
越权访问(Broken ACCESS Control,简称BAC)是一种很常见的逻辑安全漏洞,是Web应用程序中一种常见的漏洞,由于其存在范围广、危害大,被OWASP列为Web应用十大安全隐患的第二名。
越权访问呢可以理解为服务端对客户端提出的数据操作请求过分的信任,一个用户一般只能对自己本身的信息进行增删改查,然而由于后台开发人员的疏忽,没有在用户进行增删改查时进行用户判断。忽略了该用户的权限判定,导致攻击账户拥有了其他账户的增删改查。
越权访问漏洞分为 水平越权和垂直越权访问。
- 水平越权:相同权限下不同的用户可以互相访问。
- 垂直越权: 低权限的用户可以访问到权限较高的用户。
首先介绍以下访问控制示意图:
1.垂直越权
垂直越权是在不同级别之间或不同角色之间的越权,垂直越权分为向上越权和向下越权。
- 向上越权: 普通用户有管理员用户的权限
- 向下越权: 即管理员有普通的的权限。
垂直越权原因: 由于后台没有做权限控制,或者仅仅在菜单上做了权限,而没有在URL做权限,导致恶意用户猜测其他管理页面的URL或者敏感的参数信息就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。
垂直提升的危害性更大。通过垂直越权,黑客能够获得一个更高级别的权限,通常来说,是应用的管理员或系统的 ROOT 权限。拥有高等级权限后,黑客自然就能够获取到大部分的数据了。除此之外,通过高等级的权限,黑客还能够禁用审计功能、删除相关日志,从而隐匿自己的行踪,让你无法发现攻击事件的存在。
2.水平权限&同角色互访问题
假设用户A和用户B同属普通用户角色,拥有相等的权限等级,他们都等获取自己的数据,但如果系统只验证了访问权限的(比如普通用户只能访问),而没有对数据做细分或者校验,导致用户A能访问用户B的数据,这种行为就叫做水平越权访问。
水平提升是指黑客获取了另外一个“平级”用户的权限。尽管权限等级没变,但因为黑客控制的用户身份发生了变更,所以黑客能够获得新的数据和权限。比如,常见的普通用户被盗号就是一种水平提升。黑客本来只能够登录自己的账号,但他却通过破解密码的方式,登录到其他用户的账号,从而可以查看他人的个人信息,利用他人账号进行交易转账。
3.解决方案
首先,最基础的防护是从制度和技术上去落实最小权限原则。所谓最小权限原则,就是给每一个用户和进程等,只分配它们需要用到的权限。从技术实现上来说,
可以通过配置一定的访问控制策略来进行强化,比如在 Linux 中给予特定进程单独的角色权限等,这部分内容我会在后续的课程中详细介绍。通过最小权限原则的
落实,你就能够限制黑客在每一次权限提升时得到的收益,甚至阻断黑客权限提升的可能。
其次,就是利用 **IDS(**Intrusion Detection System,**入侵检测系统)**对黑客的异常行为进行检测。IDS 的检测原理就是,通过分析正常用户和黑客在网络层或者主机层中的行为异同,来识别黑客的攻击。比如,正常用户不会去连接内网中不相干的主机,而黑客则必须通过扫描去探测内网等。
版权声明:本文标题:越权访问(Broken ACCESS Control)说明及解决方案 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1725723580a1038669.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论