我开始怀疑某事:
鉴于Gmail和Facebook在每个配置文件的基础上使用HTTPS,并且默认情况下它们不使用HTTPS,它们的连接是否容易受到攻击?
我对所涉及的协议一点都不熟悉,但我的理由是这样的:浏览器需要弄清楚是否使用HTTPS,默认情况下,它不会。这意味着每当我将我的页面指向Facebook.com时,我的浏览器会通过未加密的频道将一些信息(可能是会话ID?)发送到Facebook,之前我是否要求HTTPS。 (如果我错了,请纠正我,但我不相信它使用安全连接发送它。)
这是不是意味着任何人都可以在不安全的连接中劫持会话ID?这是一个潜在的漏洞吗?
答案 0 :(得分:3)
使用安全标记的Cookie仅通过HTTPS发送。因此,可以始终将HTTP重定向到HTTPS,并避免在重定向之前通过HTTP发送会话cookie,但我不会依赖它,因此我永远不会使用http://mail.google.com/与Gmail连接 - 仅https://mail.google.com/
其实我刚检查过,Gmail似乎设置了6个Cookie - 其中只有3个是安全的。当您访问http://mail.google.com/mail/时,您的浏览器实际上会以明文形式发送您的电子邮件地址,供所有人查看,然后才能重定向到HTTPS。
至于Facebook的安全......我建议观看Samy Kamkar at Defcon(更短)和at Blackhat(更长)的“我如何遇见你女朋友”的演讲。
更新以避免评论中出现混淆: Samy Kamkar解释了一种猜测 Facebook会话Cookie的方法,因此HTTPS根本不重要。关键是你只能使用HTTPS而且仍然容易受到会话劫持的攻击。</ p>
答案 1 :(得分:2)
这两个都是安全的,不会公开会话ID
Facebook服务器已安全地从步骤2收到用户名/密码,验证用户,并检查数据库以查看此用户是否请求仅SSL流量。如果用户选择了仅SSL流量,则facebook会在cookie中设置包含用户会话ID的安全位,仅允许通过安全连接发送。
返回给该用户的所有链接都是https://链接,因此每个连接都是加密的。
此过程中没有任何地方暴露会话ID