越权 漏洞

一、越权漏洞描述

越权访问(Broken Access Control,简称 BAC)是 Web 应用程序中一种常见的漏洞,由于其存在范围广、危害大,被 OWASP 列为
Web 应用十大安全隐患的第二名。
该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高
权限。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定,一旦权限
验证不充分,就易致越权漏洞。

二、平行越权(水平越权)

水平越权:指相同权限下不同的用户可以互相访问,登录普通账号,修改查询的 id 或者用户。

1、登录A账号

在这里插入图片描述

2、修改url参数

在这里插入图片描述

3、越权成功

在这里插入图片描述

三、水平越权代码分析

username 传入在此之前没有任何验证,传入参数拼接到数据库查询了。没有进行验证权限验证。

在这里插入图片描述

四、垂直越权漏洞

垂直越权是不同级别之间或不同角色之间的越权,一般是低权限用户往高权限越权。
准备两个不同权限的账号 分别登录同一个网站,查看低权限的缺少高权限那些模块,抓取高权限的的模块请求参数,再切换
低权限用户再进行提交。
管理员 admin 123456
普通用户 pikachu 000000

1、管理员权限(google浏览器)

在这里插入图片描述
在这里插入图片描述

2、普通权限(firfox浏览器)

在这里插入图片描述
在这里插入图片描述

3、实验

3.1 抓包

在这里插入图片描述
在这里插入图片描述

3.2 把 admin cookie 替换成 pikachu 的 cookie

在这里插入图片描述

在这里插入图片描述

3.3 越权成功

在这里插入图片描述

五、垂直越权代码分析

登录账号和密码,在数据库中,返回 level 如果等于 1 跳转管理员页面。如果等于 2 就进行用户页面。

在这里插入图片描述

在 op2_admin_edit.php 源码中,只是判断是否登录,并没有对用户权限进行验证,只要是登录就能往下操作,这个页面
的添加账号信息。所以登录的任何用户只要提交参数即可创建用户。

在这里插入图片描述

六、修复方案

1、基础安全架构,完善用户权限体系。要知道哪些数据对于哪些用户,哪些数据不应该由哪些用户操作; 
2、鉴权,服务端对请求的数据和当前用户身份做校验;
3、不要直接使用对象的实名或关键字。
4、对于可控参数进行严格的检查与过滤!
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值