我最近做了一个实验,使用 MitM 在访问网站时获取帐户信息(用户名和密码)。我在场景中使用了两台 PC;一台作为目标,运行 Internet Explorer,一台作为攻击者,运行 ettercap。一次尝试(伪装成 steamcommunity.com)得到了信息;目标接受了攻击者通过中间人攻击提供的虚假 CA 自签名证书。另一次尝试(假装是 facebook.com)甚至不允许我为目标机器上的自签名证书添加例外。所以问题是,为什么一个网站允许我添加例外,而另一个却不允许?
为什么有些网站似乎对自签名证书中间人攻击免疫?
信息安全
tls
证书
中间人
证书颁发机构
账户安全
2021-08-10 20:35:48
1个回答
Facebook 使用 HSTS(带有 preload[*]),而 steamcommunity.com 没有。
HTTP Strict Transport Security是一个 HTTP 标头,它有两个作用:
- 它强制通过 HTTPS 与站点的所有连接(即使它被意外链接/添加书签/键入为 HTTP)
- 如果存在任何 HTTPS 错误或警告,它将中止。这包括自签名证书警告,这意味着无法接受这些证书。
[*] 预加载意味着浏览器甚至在第一次访问之前就知道 HSTS。如果没有预加载,即使存在 HSTS,您也可以对站点的第一个请求执行中间人攻击。
其它你可能感兴趣的问题