直到现在仍有不少人认为,访问没隐私没价值的网页,不是 HTTPS 问题不大。。。

2018-09-26 11:32:18 +08:00
 mytry

直到现在,居然仍有不少人(甚至包括做 Web 开发以及安全的),以为只有涉及隐私的网页用 HTTPS 才有意义。随便浏览一个从搜索引擎里点出来的 HTTP 垃圾站对自己并没什么影响。。。

殊不知,只要允许了三方 Cookie (各大浏览器默认允许),访问任何一个 HTTP 网页,各大网站的 cookie 都会瞬间泄露。。。(原理很简单,大家可以想想为什么)

而且国内大部分网站隐私 Cookie 都没加 secure,也极少有网站同时开启 HSTS+includeSubDomains,导致用户 cookie 大片大片的泄露。

真正了解这个风险并禁用三方 Cookie 的寥寥无几,最悲催的是不少国内大网站都依赖这个,禁用后正常功能都会受影响。。。

15521 次点击
所在节点    程序员
111 条回复
iwtbauh
2018-09-26 12:30:40 +08:00
@est

问题来了,不依赖 TLS 的漏洞,中间人如何劫持你的 https 连接。

这个问题关键在于,https 标记暗示用户连接是比较安全的,用户登录 https 网站认为自己的数据不会以很低级的方法泄露,但是这个问题仅仅是因为网站开发者的疏忽导致数据轻易被降级泄漏,甚至可能用户毫不知情,这是最可怕的。
xenme
2018-09-26 12:33:01 +08:00
都中间人了,你上的所有网都能看,即使 SSL 也没啥用,DNS,SNI 就泄露一大堆了。
加上大数据,还要啥?

套上 VPN,你总得访问 JD, Google 吧,人家后台互相之间共享 cookie,明目张胆的收集信息和隐私。
相比这些服务提供者,运营商要好太多了。

总结:不上网最安全。
iwtbauh
2018-09-26 12:37:57 +08:00
@xenme

sni 就是一个域名啊,中间人能拿到的就一个域名,和一点 metadata,传输的数据都是经过加密的啊,而且现在的基本都是支持前向保密的(甚至到 TLS1.3 强制支持前向保密),服务器私钥泄漏历史数据都没事。

除非有 TLS 的漏洞,密码算法实现的漏洞,否则你能从 TLS 里劫持什么数据出来。

TLS 漏洞一旦公开可以通过保持升级客户端和服务器操作系统,升级浏览器解决。

要是没有 TLS,岂不是随便一个人都能随便劫持,这根本不是一样的。
t6attack
2018-09-26 12:38:21 +08:00
你必须信任你的运营商,至少是有限度的信任。就像信任 CA 一样。如果连这点信任都没有,互联网几乎是不可用的。
petelin
2018-09-26 12:40:05 +08:00
跨域请求都会被拦截,更别说你要拿 cookie。。。。
访问第三方垃圾网站能拿到全部 cookie 给演示一下呗,好牛逼啊。

另外 secure 是防中间人的。谷歌不会,百度一下行不行
iwtbauh
2018-09-26 12:41:52 +08:00
@t6attack

对于 https 连接,我不需要信任 isp,因为 isp 没法修改在我的操作系统里的根证书

我只需要信任我的操作系统。我凭什么信任操作系统呢,因为我的操作系统使用 gpg 签名保护根证书来自操作系统开发者。
t6attack
2018-09-26 12:43:01 +08:00
还有,如果你的网站引入了第三方 JS 文件( JS 库 /统计系统),即使在 https 下,服务提供方 也可以抓取你网站用户非 httponly 的 cookies,所以这是必须要加 httponly 的问题。不是必须使用 https 的问题。
xenme
2018-09-26 12:45:07 +08:00
@iwtbauh
就说信息泄露来说,各种网站之间互相共享的 cookie 信息有多少?
如果一定要说中间人劫持的话,至少运营商干这种的很少(上海电信我没遇到过)
不算运营商,能劫持你的就流量的就更少了,除非你自己取用开放 WIFI

就你说的 TLS,也得以来 DNS 安全,运营商劫持 DNS 篡改你 public key,中间人即使你 TLS1.3 也没用。你不还得上 DNSSEC 么

安全是相对的,随便一个人就能控制运营商劫持你的流量?你劫持下我的流量看看,我刚访问 http://example.com/
tabris17
2018-09-26 12:46:47 +08:00
不安全的 wifi 设备就可以嗅探你的 cookie,要什么运营商
iwtbauh
2018-09-26 12:49:05 +08:00
@xenme

并非只有运营商能劫持你

你的本地网络上的用户
你的运营商
骨干网上的用户
服务器的运营商
服务器所在本地网络的用户

都有能力劫持你

“运营商劫持 DNS 篡改你 public key “,https 上,public key 又不用 DNS 来分发。public key 靠 PKI (公钥基础设施)来确保公钥来自真实的服务器。你劫持 DNS 劫持走了我浏览器早就弹出证书错误了。
caomu
2018-09-26 12:50:36 +08:00
虽然 http 确实不安全,但也不能信口开河啊。第三方 cookies 更多的是向第三方泄露了自己的网络足迹,如果是隐私洁癖是可以考虑关掉。国外网站通常都会提示你查阅他们的 cookies 政策,国内网站倒不怎么有。如果要讨论中间人的话,那么和第一方第三方也没有多大关系了,http 下中间人差不多是为所欲为了。
choury
2018-09-26 12:51:38 +08:00
@xenme 劫持 DNS 就能改 public key ?用了 360 安全浏览器?所以没告警?
xenme
2018-09-26 12:52:43 +08:00
@iwtbauh 这里提到的 dns 是劫持你 tls 加密 sni 的 public key,并不是其他。
xenme
2018-09-26 12:53:58 +08:00
@choury 只针对 tls 1.3 sni encryption
opengps
2018-09-26 12:54:58 +08:00
等以后全部禁用第三方 cookie 了。那么每个站长都得自己重写一个站长统计,放在自己的网站里了
wangxiaoaer
2018-09-26 12:56:04 +08:00
@est 他说的是 js 控制的 cookie 吧
iwtbauh
2018-09-26 12:56:23 +08:00
@xenme

首先你说的那个方法并不是互联网标准,拿个随时都可能被废弃草案出来没有讨论的意义。

sni 泄漏,只是一个域名啊,你觉得泄漏一个你访问的域名,中间人最多知道你访问了 example.com ,中间人能知道你和服务器之前传输了什么吗,你输入的用户名密码会泄漏吗。当然这不好,然而 http 呢,自行比较一下吧。
choury
2018-09-26 12:56:56 +08:00
@xenme 你劫持了我收到的证书就不对了,连接就关闭了,我还什么数据都没发送,我能泄露啥?
iwtbauh
2018-09-26 12:59:01 +08:00
@choury

他的意思是能泄漏一个包含在 TLS 中的 sni 字段,就是你访问的域名

https://en.wikipedia.org/wiki/Server_Name_Indication
wwbfred
2018-09-26 13:00:53 +08:00
第三方网站可以随便拿其他网站的 cookies?我怎么觉得你在逗我.
第三方 cookies 是允许第三方网站设置 cookies,又不是允许网站读第三方 cookies.
即使是你说的那样,也和 http 还是 https 没关系.难道你的 cookies 会根据你访问的网站是否是 https 而在本地选择是否加密?
如果真的是这样,那就是 cookies 设计的重大失误了.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/492685

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX