に関して:
- https://laravel.com/docs/5.3/passport#using-your-api-with-javascript
- https://github.com/laravel/passport/blob/1.0/src/ApiTokenCookieFactory.php
Access-Control-Allow-Origin を次のように仮定しましょう: *
したがって、次のシナリオがあります。laravel_token を自分の Cookie に設定し、csrfToken をフロントエンド フレームワークに提供することを許可されています。
既に提供されているcsrfTokenを使用して新しいlaravel_tokenを簡単に作成できず、それをCookieに入れて、別のユーザーとして承認されているバックエンドに送信できない理由を教えてください?
Route::get('/token', function(\Laravel\Passport\ApiTokenCookieFactory $factory, Request $request) {
$cookie = $factory->make(
25665, // different user's ID to be attacked
$providedVisibleCSRFToken
);
return response()->json(['X-CSRF-TOKEN' => $providedVisibleCSRFToken, 'JWT-TOKEN' => $cookie->getValue()]);
});
今後、Cookie を変更して、ハイジャックされた JWT を別のユーザーで使用すると、そのユーザーとしてログに記録されませんか?