我的问题是关于会话固定的总结:
Alice 在银行有一个账户http://unsafe.com/。不幸的是,爱丽丝不是很精通安全。
马洛里要去银行取爱丽丝的钱。
Alice 对 Mallory 有一定程度的信任,并将访问 Mallory 发送给她的链接。
- Mallory 已确定http://unsafe.com/接受任何会话标识符,接受来自查询字符串的会话标识符并且没有安全验证。http://unsafe.com/因此不安全。
- Mallory 给 Alice 发了一封电子邮件:“嘿,看看这个,我们银行有一个很酷的新帐户摘要功能,http://unsafe.com/?SID=I_WILL_KNOW_THE_SID”。Mallory 正试图将 SID 固定为 I_WILL_KNOW_THE_SID。
- Alice 感兴趣并访问http://unsafe.com/?SID=I_WILL_KNOW_THE_SID。弹出通常的登录屏幕,Alice 登录。
- Mallory 访问http://unsafe.com/?SID=I_WILL_KNOW_THE_SID,现在可以无限制地访问 Alice 的帐户。(信用:RichieHindle)
问题:
Q1 - 有没有办法明确阻止站点接受任何会话标识符?
Q2 - 我没有在我的网站上使用 $_GET 变量,所以有没有办法阻止接受来自查询字符串的会话标识符?
- 注意:我正在使用带有 SSL 的 php 5.4.3,并且还将使用 session_regenerate_id..