Webug4.0 越权查看admin

前言

通过普通用户登录,  查看admin用户的信息

 

 

实战

先看看登录的用户:

 

正常登录普通用户aaaaa:

 

发现有一个id参数对应,

分析: 能不能通过修改登录时候的id值来越权登录其他用户呢? 

看到用户名和密码,  forward登录

 

登录之后, 发现又有一个id参数值的请求....这个id请求源自于上一个页面(漏洞产生):

 

于是, 将id修改为1 (admin用户对应的id值):

越权成功....

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、付费专栏及课程。

余额充值