什么是越权访问漏洞

什么是越权访问漏洞?

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

漏洞分类

  • 水平越权访问漏洞
    水平越权访问是一种“基于数据的访问控制”设计缺陷引起的漏洞。由于服务器端在接收到请求数据进行操作时没有判断数据的所属人/所属部门而导致的越权数据访问漏洞。

有AB两个账户属于同级权限,A登入后可以使用一些方式例如传B得ID可以查到B得数据。就是水平越权访问

  • 垂直越权访问漏洞
    垂直越权是一种“基于URL的访问控制”设计缺陷引起的漏洞,又叫做权限提升攻击。

很多系统在做权限访问控制时仅仅做了展示层面得控制实际后端并未做权限校验,那么假设一个低权限账号登入后,可以通过猜测url得方式访问到他不具有权限得URL

开发层面理解

对于以上两种漏洞在开发层面得理解就可以划分为

  • 水平越权==数据权限

  • 垂直越权==菜单权限

  • 水平权限设计时关键数据不能由前端传。
    例如:例如根据订单号查询和用户id查询订单时,一定要加用户id校验并且用户id只能从后端获取,假如你得订单是有序得将会被人猜解,如果你没有用户id校验那么别人得订单信息也会被返回。(血得教训:曾经就有个同事因此被公司开除了

  • 垂直权限,大部分管理系统基于RBAC权限管理,一定要严格按照权限控制体系进行权限分配。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Laravel-Admin 是一个开源的后台管理框架,它基于 Laravel 框架,提供了一套 CRUD 操作的界面。Laravel-Admin 越权漏洞是指攻击者可以通过构造特定的 URL,绕过权限验证,访问未授权的页面或进行未授权的操作。 修复 Laravel-Admin 越权漏洞,可以按照以下步骤进行: 1. 升级 Laravel-Admin 到最新版本。开发组在最新版中已经修复了该漏洞。 2. 如果无法升级到最新版本,可以手动修复漏洞。具体步骤如下: - 打开项目中的 `app/Admin/routes.php` 文件,找到需要修复的路由。 - 在需要进行权限验证的路由前,加上如下代码: ```php // 需要进行权限验证的路由 $router->resource('users', 'UserController')->middleware('auth.admin'); ``` 上述代码中的 `middleware('auth.admin')` 表示该路由需要通过 `auth.admin` 中间件进行验证。 - 创建 `app/Http/Middleware/AuthenticateAdmin.php` 中间件。 ```php <?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class AuthenticateAdmin { public function handle($request, Closure $next) { if (Auth::guard('admin')->check()) { return $next($request); } return redirect('/admin/auth/login'); } } ``` 上述代码中的 `Auth::guard('admin')->check()` 表示使用 `admin` guard 进行验证。 - 在 `app/Http/Kernel.php` 文件中注册中间件。 ```php protected $routeMiddleware = [ // ... 'auth.admin' => \App\Http\Middleware\AuthenticateAdmin::class, ]; ``` 上述代码中的 `auth.admin` 表示中间件的名字,`\App\Http\Middleware\AuthenticateAdmin::class` 表示中间件的类名。 通过以上步骤,就可以修复 Laravel-Admin 越权漏洞了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值