WEB应用(十八)---逻辑漏洞(越权漏洞)

什么是逻辑漏洞?

逻辑漏洞就是指攻者击利用业务/功能上的设计缺陷,获取敏感信息或破坏业务的完整性。

 逻辑漏洞的特点

  1. 与系统本身的业务功能相关,决定了逻辑漏洞的多样性
  2. 很难通过有规则的脚本或工具扫描发现
  3. 产生的流量是合法流量,一般的防御手段和设备无法阻止
  4. 一般需要通过人工审计和手动测试发现

根据常见的业务功能,逻辑漏洞常常出现在以下情况

越权漏洞,密码修改/找回,验证码漏洞
支付漏洞投票,积分,抽奖

接下来我们看看越权漏洞

越权漏洞重要分为俩种:第一种水平越权,第二种垂直越权。

保险业务的web应用。用户A和用户B都是普通用户

假设用户A和用户B属于同一个权限组。水平越权就是用户A可以看到用户B才可以看到的一些内容(B的个人信息)。

用户A属于普通用户权限组而用户C属于管理员权限组,垂直越权就是用户A可以到用户C才可以看到的内容(管理员一般可以看到所有用户的信息)。

我们借助pikachu靶场,来详细了解一下:

水平越权

点击提示,随便找一个用户登录进去,这时我们就可以看对应用户的信息,这时我们就看见了URL地址栏中以GET方式传入了用户名,我们再将kobe改成lili或者lucy,就可以看到他们的用户的信息

试着登录lili或者lucy的账号,可不可以呢

这个漏洞是怎么产生的呢,对于每一个用户,后端是从地址栏中username的值中获取,并且用户还可以随便输入,应该换一种方式,从session中获取

这里我们去改一下他的后端代码,修复这个漏洞,路径

我们先看op1_login.php

 再来看看op1_mem.php,注意有些地方我改掉了

 现在你再试试还可以吗

垂直越权

老规矩,点一下提示,得到俩个用户,admin是管理员用户,pikachu是普通用户

我们先登录pikachu用户,发现我们只能查看用户信息,但是无法去修改,反观,再去登录管理员用户,就可以删除用户,增加用户

那我们怎么让pikachu也拥有admin的权利呢,如果有了,这就是垂直越权  

我们先来抓个包,抓什么包,在admin用户登录的情况下,去抓增加用户的包

 

 放到重放器里,我们可以看到cookie里的sessionid

现在我们放包登录pikachu用户,看看,可以看到添加成功

 现在我们在重放器里再次进行放包,还可以添加成功吗,这里我们在将用户名加个1,发送完后,我们在刷新页面,发现没有用户添加,因为sessionid失效了

 

那我们怎么进行越权呢,在pikachu用户登录的情况下,抓包,刷新一下页面就行,我们将获取到的pikachu用户的sessionid将重放器里的sessionid换掉,放包,发现添加成功,这样我们就使用piakchu用户实现了添加用户的功能,这就是垂直越权

这个漏洞是怎么产生的呢,在进行添加用户的操作之前没有对用户进行校验,我们该怎么去修复呢,路径 

先来看看op2_login.php

再看看op2_admin.php,这里就过滤较为严格

再看看op2_admin_edit.php,所以我们可以将上面的代码复制到这里,这样就不存在越权了,可以在去试试刚才的操作可以进行添加用户吗?

越权漏洞就告一段落了,其他的漏洞还请大家自行去了解

至此我们将10大安全漏洞学习完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值