https 中的 cookie 安全吗?

Is cookie in https secure?

我知道 cookie 和 session id 是加密的,然后发送给客户端,这样中间人就看不到 cookie 的值。

我的问题是,假设我登录了一个 https 站点并离开了计算机一段时间。然后我的一位朋友快速转到浏览器的开发人员工具并获取 cookie。他以后可以使用那个 cookie 来破解我的帐户吗?

如果是,如何开发网站,即使有人获取我的 cookie 值和会话 ID,他也无法破解我的帐户。

如果您的 "friend" 可以访问您的浏览器,他就可以看到 cookie,并使用它们窃取您连接到任何网站的会话。

HTTPS 仅保护您的计算机与网站之间的通信。您计算机中的所有内容都以纯文本形式提供。

HTTPS 上的 Cookie 仅在具有 secure flag set or are served from an HSTS 域时才是安全的。

否则,中间人可能会拦截 cookie。

假设您的网站是 example.com,并且只能通过设置 cookie 的 HTTPS 访问。 Bob,你的受害者通过不安全的网络通过纯 HTTP 浏览到 foo.com。

中间人 Mallory 可以拦截对 foo.com 的请求并注入

<img src="http://example.com" />

然后她拦截了发送给 example.com 的请求,其中包含 cookies - 现在 Mallory 将你的受害者的 cookies 发送给 example.com 并且可以以 Bob 的身份登录,即使你只通过 HTTPS 监听。

这是因为同源策略在 cookie 方面不那么严格。

现在你的意思是 Bob 让他的机器保持登录状态,然后 Alice 来窃取他的会话。

你可以做一些security by obscurity things and check that their user agent and panopticlick fingerprint是一样的。这将阻止不确定的黑客。

此外,您可以验证他们的 IP 是否与他们登录时使用的 IP 相同。这不会保护同一网络上的黑客,例如当鲍勃和爱丽丝在同一个办公室工作时,但是它会阻止爱丽丝回家然后使用会话详细信息。还要注意使用共享 IP 的 ISP(例如 AOL)和可能改变客户端 IP 地址的 ISP(例如 3/4G 提供商可能,或者当用户从移动接收切换到 WiFi 时)。