是否可以说重新生成会话ID的策略只对通过会话固定防止会话劫持有用?如果没有,重新生成id有助于防止会话劫持?
This popular answer建议通常更改会话ID,因为:
..如果攻击者劫持了一个会话,你不希望他们长时间使用它。“
但是如果攻击者已经劫持了一个会话,那么他们只会收到新的会话ID吗?
答案 0 :(得分:1)
这是一场竞赛。您有2个以上的用户都共享相同的会话ID。在某些时候,您的代码决定重新生成ID,这会将新ID发送给其中一个用户。如果攻击者幸运并且他们的“命中”是获得重新生成的ID,那么他们将处于明确状态并且现在可以完全控制该会话。
如果实际用户获得了重新生成的ID,则攻击者现在留下了无效的会话ID,他们将不得不尝试劫持新重新生成的ID并重新开始。