Skip to content

Commit b3e0b36

Browse files
committed
Security fix
1 parent f77d29f commit b3e0b36

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

app/Http/Controllers/AdminController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -675,7 +675,7 @@ public function authAs(request $request)
675675

676676
$user = User::find($userID);
677677

678-
if($user->remember_token == $token){
678+
if($user->remember_token == $token && $request->session()->get('display_auth_nav') === $user->remember_token){
679679
$user->auth_as = null;
680680
$user->remember_token = null;
681681
$user->save();
@@ -686,7 +686,7 @@ public function authAs(request $request)
686686

687687
return redirect('/admin/users/all');
688688
} else {
689-
return redirect('');
689+
Auth::logout();
690690
}
691691

692692
}

app/Http/Middleware/Impersonate.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,23 +35,25 @@ public function handle($request, Closure $next)
3535
}
3636

3737
Auth::loginUsingId($id);
38-
$request->session()->put('display_auth_nav', true);
38+
$request->session()->put('display_auth_nav', $token);
3939
$request->session()->save();
4040
}
4141

4242
if($request->session()->has('display_auth_nav')) {
43+
$dashboard = url('dashboard');
44+
$URL = url('/auth-as');
45+
$csrf = csrf_token();
46+
$remember_token = User::find($originalUser);
47+
$token = $remember_token->remember_token;
48+
$storageToken = $request->session()->get('display_auth_nav');
49+
if($storageToken === $token) {
4350
if (file_exists(base_path(findAvatar($id)))) {
4451
$img = '<img alt="avatar" class="iimg irounded" src="' . url(findAvatar($id)) . '">';
4552
} elseif (file_exists(base_path("assets/linkstack/images/").findFile('avatar'))) {
4653
$img = '<img alt="avatar" class="iimg irounded" src="' . url("assets/linkstack/images/") . "/" . findFile('avatar') . '">';
4754
} else {
4855
$img = '<img alt="avatar" class="iimg" src="' . asset('assets/linkstack/images/logo.svg') . '">';
4956
}
50-
$dashboard = url('dashboard');
51-
$URL = url('/auth-as');
52-
$csrf = csrf_token();
53-
$remember_token = User::find($originalUser);
54-
$token = $remember_token->remember_token;
5557
$customHtml =
5658
<<<EOD
5759
@@ -154,6 +156,6 @@ function submitForm() {
154156
Auth::logout();
155157
}
156158
return $next($request);
157-
}
159+
}}else{return $next($request);}
158160
}
159161
}

0 commit comments

Comments
 (0)