5

我是否正确地认为,如果您通过 SSL 加密请求传递会话 cookie,则该 cookie 只能由直接访问该 cookie 发送到的计算机或发送该 cookie 的服务器的攻击者读取,前提是他们无法破解加密?

4

3 回答 3

10

SSL 加密所有流量,包括标头(包含 cookie 值)。

另一方面,cookie 可以通过客户端机器上的 Javascript 访问,除非您将其标记为 HttpOnly。黑客可能会通过 XSS 攻击使该脚本运行。

此外,还有一些方法可以通过精心制作的电子邮件或网页来劫持 cookie。这称为会话骑行或 CSRF。

最后,对于超出 SSL 终止点的任何网络连接,cookie 在线路上可见,例如,如果您的数据中心使用 SSL 卸载和/或深度数据包检查。

哦,还有一件事。如果 SSL 配置不正确,它很容易受到 MITM 攻击,例如,您的服务器被配置为接受空协议。在这种情况下,黑客当然可以将 cookie 读取为 day。

就是这样。这应该足以让你夜不能寐。

于 2013-11-09T00:30:48.103 回答
3

要添加到@John Wu 的答案,您还可以通过设置Secure Flag来防止另一种类型的MITM攻击。这将确保 cookie 仅在通过 HTTPS 加密发送请求时由浏览器传输。

即使 cookie 只能由您的站点设置,如果输出它,您仍然应该对其进行编码以防止XSS。有关详细信息,请在此处查看我的其他答案:https ://security.stackexchange.com/a/44976/8340

于 2013-11-11T11:07:00.133 回答
2

正确,SSL 加密在线上的所有 HTTP。

于 2013-11-08T15:38:27.713 回答