注销不会使会话令牌过期

时间:2019-02-11 05:12:12

标签: php laravel session laravel-5.6 session-management

我们最近进行了Laravel 5.6应用程序渗透测试,发现的问题之一是注销时未正确设置到期时间。 AuthenticatesUsers特质在会话上调用invalidate方法,该方法基本上刷新会话数据并重新生成ID,但不设置过期时间。

根据该报告,如果攻击者可以获取有效的会话令牌,则他们将能够劫持受影响用户的帐户。注销用户不会使攻击者的会话无效。

这里的任何指针都会有很大帮助。

谢谢

/**
 * Log the user out of the application.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function logout(Request $request)
{
    $this->guard()->logout();

    $request->session()->invalidate();

    return redirect('/');
}