毕竟一般输入网址都不会手动输入 https://
,除非用户显式输入 http://
才首先用 http 方式访问。个人感觉这样就能降低被挟持的概率?突然想到的, V 友一起讨论下有没有漏洞?
1
DoraJDJ 2016-06-12 23:23:37 +08:00 via Android
HSTS ?
|
2
Librazy 2016-06-12 23:24:51 +08:00 via Android
实际上现在的做法更激进,使用 HSTS preload list ,在这个列表里的域名只能通过 HTTS 。
测试 443 端口有一个小问题, 80 和 443 可能是两个站,会对用户带来一些困扰。 你如果怕自己的网站遭受 HTTP 劫持,可以试试申请 HSTS preload |
3
xupefei 2016-06-12 23:25:32 +08:00
CDN 的 IP 和域名不是一一对应的。另外,还有共享主机这种东西呢。
|
4
bazingaterry OP |
5
bdbai 2016-06-12 23:31:33 +08:00 via Android
有些站的 HTTPS 证书没配置对,只能公开 HTTP ,突然来一下警告不会吓跑用户么?站长得问你要 1kw 了啊
|
6
bazingaterry OP @bdbai 嗯, HTTPS 证书没配置对就应该干脆不监听 443 嘛……
|
7
bazingaterry OP @xupefei 的确,这个是一个大问题,自己一直用 VPS 建站忽略这个东西了。
|
9
JoyNeop 2016-06-13 00:10:51 +08:00 via iPhone
劫持 443 端口流量,伪造成没有响应,用户访问 80 时劫持者再再反代到 443
|
10
ferrum 2016-06-13 01:03:03 +08:00 via iPhone
这个想法不是和 Chrome 和 Firefox 上的 HTTPS Everywhere 一样吗?
|
11
tSQghkfhTtQt9mtd 2016-06-13 01:22:08 +08:00 via Android
@bazingaterry HSTS Preload 是硬编码根域在浏览器内的,支持这一特性的浏览器在访问 Preload 域下任何一个子域名都会强制 HTTPS ,哪怕你是首次访问并且使用 HTTP 也会自动升级
|
12
lslqtz 2016-06-13 03:49:20 +08:00 2
给你举一个证书错误的例子吧。
http://233.dog/f_89032897.png 有一个解决方案可以解决,但是不可取。 即在 https 证书错误的情况下回落到 http ,但是 https 证书错误如为中间人攻击,那么回落到 http 还是会被攻击。 其实,目前大部分虚拟主机不支持 https ,但是大多数也开启了 443 端口。 同样,也有大量 CDN 不支持 https ,但是开启了 443 端口。 还有部分网站 http 和 https 是不同的,举个栗子,部分政府网站 http 是网站界面, https 是后台,这会导致一些问题。 再以及,如果每个用户访问时都去探测 443 端口会造成极大的额外负担,可以形成 DDoS 。即使缓存可以解决,但是仍然会出现负担增加的情况。 当 https 的成本足够低时,可以把主流浏览器直接输入后打开为 https 页面,同时对 http 报不安全。 实际上,这很不公平,因为一张 SHA1 证书可以导致 Chrome 报不安全(证书在 2016 年前过期则变灰),但是 http 却没有任何提示。 我认为,即使是 SHA1 的 https 连接,也比 http 安全。 这是一张被 Chrome 变灰的, 2016 年前过期的 SHA1 证书。 http://233.dog/f_93427429.png 上面有 V 友提到 HSTS Preload List ,当域名内置在浏览器后,访问 http 时会自动跳转(307)到 https 。 这是非常激进的做法,但是仍然会造成一些问题,举个栗子。 1 、域名数量多了,列表体积会不会过大。 2 、有什么好的方法在 HSTS Preload List 中删除域名,目前没听说过有人成功删除,这会导致以下问题。 [1 、降级到 http 时被强制 301 到 https 。] [2 、由于 HSTS Preload List 中无法删除域名,意味着别人购买域名后必须使用 https ,这会降低域名的价值。] 举个栗子,这次的京东从 https 降级到 http ,据说是因为部分 CDN 不支持 https 。 要是京东曾申请进入 HSTS Preload List 列表,那么这次降级会导致大量用户无法访问京东首页。 |
13
lslqtz 2016-06-13 04:10:37 +08:00 1
我在本地签了一张 SHA1 的 SSL 证书,有效期 10 年,但是并未使用 Nginx 搭建成功,提示证书响应无效,于是换了 Apache 并截图上传,上传时我自己的图床抽风了,于是传到贴图库上了。
这是一张被 Chrome 报不安全,在 2017 年或之后过期的 SHA1 证书。 http://i2.buimg.com/11b85fb3b5587e22.png |
14
dbfox 2016-06-13 08:13:40 +08:00 via iPhone
|
16
est 2016-06-13 09:48:11 +08:00
@dbfox 现在的劫持方式是把 /xxx.js 劫持了。换成 popup(广告 div) 然后 document.write(你原来的 xxx.js?v=123123)
其中 v=123123 才不会被劫持。 |
17
msg7086 2016-06-13 13:45:37 +08:00
所以说要普及 DANE 啊。普及了就什么都有了。
|
19
Williamp 2016-06-13 20:58:30 +08:00
@lslqtz Microsoft has also told users to stay away from SHA1 ssl certificate https://www.clickssl.net/blog/microsoft-is-set-to-retire-sha1-rc4
|