1

是否说重新生成会话 ID 的策略仅对通过会话固定防止会话劫持有用?如果没有,重新生成 id 如何帮助防止会话劫持?

这个流行的答案建议经常更改会话 ID,因为:

..如果攻击者确实劫持了一个会话,你不希望他们能够使用它太长时间。”

但是如果攻击者已经劫持了一个会话,他们不会收到新的会话 ID 吗?

4

1 回答 1

1

这将是一个竞争条件。您将有 2 个以上的用户共享相同的会话 ID。在某些时候,您的代码决定重新生成 ID,这会将新 ID 发送给这些用户之一。如果攻击者运气好并且他们的“命中”是获得重新生成的 ID 的那个,那么他们现在就可以完全控制该会话了。

如果实际用户获得了重新生成的 ID,那么攻击者现在留下的会话 ID 无效,他们将不得不尝试劫持新生成的 ID 并重新开始。

于 2013-07-18T16:06:01.143 回答