【发布时间】:2017-04-12 04:23:26
【问题描述】:
关于:
- https://laravel.com/docs/5.3/passport#consuming-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 时,我不会以他的身份登录,对吧?
【问题讨论】:
-
我不确定您的问题,但作为旁注,大多数库(包括 Laravel)要求您将可能的安全漏洞直接发送给所有者(在本例中为 Taylor),以防它们被利用.见他的笔记github.com/laravel/laravel
-
第三方将如何生成该令牌?那是在服务器端生成的...
标签: laravel security session cookies laravel-passport