Laravel /护照 - 这是安全漏洞吗?

时间:2016-11-28 12:31:57

标签: laravel security session cookies laravel-passport

关于:

让我们假设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与不同的用户不能作为他登录时,对吧?

1 个答案:

答案 0 :(得分:0)

这不是安全漏洞。因为要生成有效的cookie,您需要应用程序的加密密钥,该密钥存储在服务器端,不应暴露给您的前端。

如果您创建了这个假cookie并将其发送出去,应用程序将尝试使用加密密钥解密cookie,并在此时失败。