HTTP协议下,cookie是否安全避免被劫持?

5

我看到 Facebook 是通过 HTTP 发送 cookies 的。那么它们如何能够避免被劫持呢?如果我把 cookie 复制到另一台电脑上,我还能登录吗?

3个回答

6
你刚刚描述了会话劫持,这是一个真正的安全问题。可以通过多种方式避免它。然而,保护 cookie 最简单的方法是使用 HTTPS 而不是 HTTP,确保它们在传输过程中加密。 这里 有更多信息。

1
但是当 cookie 到达盒子时,它们就不再加密了,对吧?所以正如 OP 所说,他能否将 cookie 复制到另一台机器上? - hvgotcodes
没错,这就是我说“最简单”的原因。然而,我的观点是,如果有人已经物理接触到一台已登录的机器,他们就不需要cookie了。一般来说,如果物理安全已被破坏(比如工作站密码,甚至外门锁),那么cookie永远不会安全,所以你最好计划处理其他(并且我认为更常见)的情况。 - dlev
我只是在寻求澄清,如果有人刚刚拿到了 cookie,他们可以拿它来在另一个浏览器中登录,对吗?还是不行?我认为是的(否则获取 cookie 将具有有限的效用),但我只想搞清楚。 - hvgotcodes
1
假设该网站仅使用cookie进行身份验证(而不是多因素方案,可能还包括IP地址、用户代理请求头等),那么您是正确的:另一个浏览器,甚至在不同的机器上,都可以使用cookie“登录”。 - dlev

1

通过HTTP(端口80)发送的Cookie不安全,因为HTTP协议未加密。

通过HTTPS(端口443)发送的Cookie是安全的,因为HTTPS是加密的。

因此,如果Facebook通过HTTP发送/接收Cookie,则可能会被窃取并用于恶意用途。


0
通过HTTP发送的Cookies是不安全的,而通过HTTPS发送的Cookies比HTTP更安全,但仍然可能被窃取,因为最近发现了一些黑客SSL的方法。有关会话劫持和所有会话劫持攻击的完整写作可以在这里找到:http://cleverlogic.net/tutorials/session-hijacking-0。还有一些内容可以预防会话劫持。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接