登录后是否重新生成会话ID?

Wab*_*son 12 security session spring sessionid

我想知道在成功登录后重新生成会话ID是否真的是一种好的做法,而不仅仅是一种货物崇拜行为.

如果我理解正确理论它应该防止会话劫持(或者至少使其变得更难),但是我无法真正看到如果有人可以窃取登录前会话,那么什么会阻止网络钓鱼者再次使用重新生成的会话.

我不关注Spring(我目前甚至不使用Java),我对它的优缺点感兴趣.

D.W*_*.W. 8

是.您应该在登录时重新生成会话,以帮助防止 会话固定登录CSRF.

有关更多信息,请参阅OWASP的建议.

  • @ techie_28如果攻击者可以访问读取受害者的cookie - 那么是.但重新生成ID不能防止这种情况,而是防止会话固定:假设攻击者设置了会话ID并且您登录,他们现在知道经过身份验证的用户的会话ID.如果应用程序在登录时重新生成ID,则不会. (4认同)

Ror*_*sop 7

当预登录为http且后登录为https时,您可以重新生成以防止会话劫持.这就是阻止攻击者再次使用重新生成的攻击者.

窃取http会话的会话标识符相对容易,假设您在受害者附近,或者在某个路径中,或者已经破坏了等等 - 如果此会话标识符在加密会话中也可行,则可以使攻击者的工作成为可能很容易.