web漏洞-逻辑越权之水平垂直越权全解(33)

在这里插入图片描述

 他是业务逻辑层面,和一些业务方便应用的安全问题,这个是因为代码层面没用考虑到的逻辑关系所造成的安全问题,越权是其中一个比较关键的问题。登录是指在登录这里出现了安全问题,业务等等今天只说越权。

越权漏洞

分为水平和垂直,

假如我们在用户a这里,如果有用户越权漏洞,我们就可以访问到用户b,c,d这里去,同级别的用户,我们称之为水平越权。

垂直越权,我们用普通用户权限,可以去享用比我们高级的权限,这种就是垂直越权。

解释一下水平越权,:是通过更换某个id之类的身份表示,从而使a账户获取(修改,删除)同一级别b账户的数据。

垂直越权,:使用低权限身份的账号,发送高权限账户才能发送的请求,获取高权限的操作。

未授权访问,:比如我们访问网站的后台,网站的后台有一些操作需要管理员才能操作的,其他的用户是操作不了的,如果有未授权访问就相当于任何人都可以去操作他,比如是后台地址,操作的应用,不需要的登陆直接操纵,这就是未授权访问,没用进行权限验证导致的安全问题,

#pikachu-本地水平垂直越权的演示(漏洞成因)

打开靶场

 我们点击查看个人信息,抓一下数据包看看

我们要怎么去测试有没有水平越权漏洞,就把那个用户名改成同级别的lucy试试,现在就有问题了,我们如何去获取lucy这个用户名。这个用户名可以在前期信息收集里面找到的,在真是网站下面可以通过一些渠道获取同级别用户的信息的,打一个比方,有一些网站是有注册吗,就可以通过注册一些用户名,有时候他就会提示你用户名重复,那么这个用户名就存在的;第二种可以通过访问其他的人个人空间知道他的名字,可以通过多个渠道获取到的。

 发送出去,再去看一下页面

 我登陆的是coke然后通过数据包的更改查看到了另外同级别的用户lucy用户信息。

#垂直越权

打开靶场,先登录一个管理用户

 这个时候在退出来换一个普通用户,就只有查看的权限

 然后现在在回到管理用户里面,随便添加一个用户,抓一下数据吧,发送到重发器之后在,丢弃数据包,

 写着在去登陆pikachu用户,没有添加删除的功能,然后我们先在网页查看元素

 把这个cookie替换为数据包重发器里面的cookie

 这就是一个典型的越权,用用户pikachu发送了admin的请求。

利用条件:添加用户账户,把数据包抓了,但是在实际中是不能知道这个数据包的,因为在实战中可能就是pikachu用户,如果没有那个添加数据包,这么去添加哪个用户呢,该怎么去满足这个条件,有两个情况,

第一种是盲猜,看页面中的数据包,登录pikachu是没有操作用户的界面的,但有一些网站可能会有,有不是就不能操作,操作的时候会提示无权限,这种就可以通过当前页面权限的数据包,来实现越权。

第二种,如果能知道网站的源码,网上下载下来,放到本地区测试,这个时候在本地测试把管理员的账户数据包抓到,再放到真实环境,实际目标,这也是一种

其他的就是靠猜测了,搞不到数据包,操作不行。

有一个条件,

这个漏洞有些鸡肋,但是有些时候我们会涉及到另一个,未授权访问,或者思维导图里面的的登录,如果这里判断不好的话,可以通过这个漏洞直接进入到管理界面,就是先用一个普通用户登录,在判断权限的时候,有些数据包修改之后能达到伪造,可以通过这个漏洞获取到过权限,直接进入高权限界面。

这个漏洞是相辅相成的因为现在只说了越权,所以现在只能说这三个。

但是它如果有登录安全问题的话,就上一节那个把0改成1就直接登录进去了,就是我们说的越过的情况,判断用户方式不太安全。

这两个安全是越权漏洞的演示和原理,

#墨者靶场演示-身份认证失效

背景介绍

 打开靶场

现在只有系统系统测试用户test, 登陆进去

 这个关卡就已经和实际应用非常相关了,页面刷新抓一下数据包

发送之后第二个数据包

先分析第一个数据吗,有一个uid叫test,把这个uid改成马春山会不会直接登录到马春生的界面呢,这时第一个可以操作的地方,

第二个数据,在数据头里面有一个叫card_id的,后面跟着一堆数字这就是给编号,后面编号不同,所对应的用户也不同,就好比一些网站id=1就是admin用户,id=22的时候就别人注册的用户,是一个道理,这里也是一个可以操作的地方。

通过这个用户,就可以实现对用户的地址访问,我换一下那个编号,访问的结果也不一样

 所以这时候我们一个一个去试试就好了,就运用到burp的,以编号的后两位为字典。

 

 之后就直接开始攻击,之后结果就选择由大到小排序,因为有数据的数据包长度一定要大一点,而全部都一样的就是没用数据的,现在我们只需要看一下有数据的数据包,

 我们该怎么去找马春生的数据,其实网站的初始界面是有一个信息的,有马春生的头像,查看马春生的头像元素

 很可能就是编号,找到同一个编号的数据包

 

 拿去登录一下试试

出来了,这就是一个和网站十分相似的水平越权漏洞,

在实战情况下要根据实际判断,是一图像信息还是地址端口上的参数作为编号,一般是以参数为编号, 而墨者那一关是让你看一下没用连接信息,只有图片信息的,真是网站下,大部分都是地址链接看到编号,在实现这个跨越。

#产生原理

前端安全造成,界面。

就好比刚刚的pikachu靶场,管理用户登录进去有添加管理员账户,和删除,而普通的用户只有查看选项就没有别的选项,她的验证写在前端界面,这个漏洞安全造成原因就是代码在这个界面,只有判断用户是不是管理员,然后代码进行可选显示。普通用户登录就不显示添加删除那些,

不安全的原因,他只是不给你看到,但是这些是存在的,这种就是刚才漏洞产生的原因。这种判断这么安全,要去在使用功能的时候在判断管理员有没有这个权限,

 判断用户的权限就是按照usertype等级来判断,是1就是管理,不是1就不是。

后端安全造成,数据库

如果在访问网站的时候,网站传输的数据包里面有用户的编号,用户组的编号或者类型编号,那么尝试对这个数据修改,就是测试越权漏洞的基本。

网站去判断一个用户权限,就可以有三个方面去判断,一个是用户编号uid指判断,比如管理员在10以内,uid指在10以内就是管理员。还有判断组的编号(groupid),在那个组编号里面就是那个权限。还有一个就是判断用户的等级(usertype)

网站访问数据包里面存在编号指可以更改,就是在测试越权漏洞最基本操作。

#burp插件,authz(工具演示)

 打开之前测试过的靶场演示一下怎么用这个工具,抓住登陆数据包

 重复一下之前的操作,选定好字典,变量和发送的数据包,在发送到authz里面

 

 

 我自己在pikachu靶场测试了一遍

#修复方案

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

ss、

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值