美文网首页
越权漏洞的原理与防护

越权漏洞的原理与防护

作者: 文景大大 | 来源:发表于2020-08-28 08:01 被阅读0次

一、越权漏洞

当用户发起请求后,服务器在处理请求的时候,没有对该用户的该操作进行权限的判定,从而导致黑客利用该漏洞,达到查看、修改、增加、删除不属于他权限范围内的数据。

越权漏洞一般分为水平越权和垂直越权:

  • 水平越权是指角色权限相同的用户之间能非法地互相操作对方的数据;
  • 垂直越权是指不同角色权限地用户之间能非法地互相操作对方的数据;

二、水平越权

2.1 漏洞原理

水平越权一般出现在用户请求对数据进行增删改查的时候,程序没有对该用户的请求是否可以合法地操作数据进行校验。比如:

  • A用户登录网站后,拥有了登录信息;

  • A用户可以正常地查询自己的某次购买记录;

    http://localhost:8080/my-app/query?transactionId=123
    

    此时程序中只是判断请求的发起用户是否是登录状态,只要是登录的就可以根据transactionId进行该查询操作。

  • 某次A用户无意间看到了坐在旁边的同事B的transactionId为999,然后默默地记了下来;

  • A用户将上面的请求连接中的参数值改为B用户的,就能看到B用户的某次购买记录。

    http://localhost:8080/my-app/query?transactionId=999
    

    当然,请求参数可以不放在URL中,可以放在POST请求中,但是一样可以使用BP工具进行篡改参数值达到相同的效果。

2.2 漏洞防范

一般的防御措施如下:

  • 服务端程序在处理这个查询请求之前,先判断下这个交易ID是否是属于当前登录者的,如果是才允许查询请求;
  • 查询请求的SQL在最后加上限制条件归属人为当前登录者,如果不是那么查询结果行数就为0;

以上两种防范措施详细内容可以参考:水平越权的常见解决方法

三、垂直越权

3.1 漏洞原理

垂直越权是指不同级别或者不同角色之间的越权。既可以是向上越权也可以是向下越权。其发生的原因是程序没有对该次请求是否为该角色的合法请求进行校验导致的。比如:

  • 管理员A登录网站后,拥有了登录信息;

  • 管理员A可以删除论坛上的某个帖子;

    http://localhost:8080/my-app/delete?articleId=987
    

    此时程序中只是判断请求的发起用户是否是登录状态,只要是登录的就可以根据articleId进行该删除操作。

  • 普通用户B无意间在A的背后看到了这个请求URL,然后默默地记了下来;

  • 普通用户B自己在登录论坛后,访问如下的链接,然后猜测可能的articleId;

    http://localhost:8080/my-app/delete?articleId=xxx
    

    如果论坛真的有这个articleId,那么帖子就会被普通用户B删除,显然这是不合理的。

3.2 漏洞防范

  • 基于角色的权限控制

    该方案适用于只要角色相同,权限就一定相同的业务场景。

  • 基于资源的权限控制

    该方案适用于没有角色这一概念,或者有角色,但是相同角色之间权限也可能不同的业务场景。

  • 基于第三方权限框架

    轻量级权限控制框架Shiro和企业级权限控制框架SpringSecurity都可以实现如上两种方案的权限控制。

相关文章

  • 越权漏洞的原理与防护

    一、越权漏洞 当用户发起请求后,服务器在处理请求的时候,没有对该用户的该操作进行权限的判定,从而导致黑客利用该漏洞...

  • 越权漏洞

    from https://www.ichunqiu.com/course/63892 越权漏洞概述 常见越权漏洞演...

  • 越权漏洞

    简介 越权漏洞是Web应用程序中一种常见的安全漏洞。它的威胁在于一个账户即可控制全站用户数据,这些数据仅限于存在漏...

  • 越权漏洞

  • 越权漏洞

    越权漏洞概述 由于没有对用户权限进行严格的判断。导致低权限的用户(如普通用户)可以完成高权限用户(如超级管理员)范...

  • 9.越权

    1、什么是越权a的权限小于b的权限,但是使用a用户的权限能够操作b用户的数据,叫做越权 2、越权漏洞分类水平越权和...

  • 逻辑漏洞之越权

    越权漏洞的产生 越权漏洞是Web应用程序中一种常见的安全漏洞。它的威胁在于一个账户即可控制全站用户数据。当然这些数...

  • 越权漏洞笔记

    基本概念 越权漏洞是Web应用程序中一种常见的安全漏洞,它的威胁在于一个账户即可控制全站用户数据。越权漏洞的成因主...

  • 什么是越权访问漏洞?漏洞分类、开发层面理解!

    什么是越权访问漏洞? 越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见...

  • 越权/逻辑漏洞

    一.本文介绍 1、本文介绍平行越权、垂直越权;登录、注册、修改密码、密码找回、支付等地方是否存在逻辑漏洞。 二.学...

网友评论

      本文标题:越权漏洞的原理与防护

      本文链接:https://www.haomeiwen.com/subject/nsvedktx.html