我已经阅读过OWASP的HSTS备忘单了 https://www.owasp.org/index.php/HTTP_Strict_Transport_Security#Browser_Support 并观看了相关视频: https://www.youtube.com/watch?v=zEV3HOuM_Vw
但在用户输入http://site.com的情况下,我仍然无法理解这有助于抵御中间人攻击。 OWASP声称它有所帮助。
让我们假设以下情况:中间人获得受害者的请求:http://site.com。然后他将自己的HTTPS请求激活到https://site.com并将内容返回给用户,剥离HSTS标头。攻击者可以看到所有进一步的用户输入。
在我看来,除非我们从一开始就使用HTTPS,否则无法防范MITM。
HSTS标题真的可以帮助抵御MITM攻击吗?
答案 0 :(得分:6)
HSTS仅在用户代理之前访问过该站点并且在第一次访问时没有来自MITM的干扰时才有帮助。顺便说一下,第一次去网站时你很容易受伤,但再也不会了。
由于您第一次仍然处于弱势,HSTS远非完美。但它总比没有好,因为 可以防止攻击者在您之前访问过该网站后攻击您。
(除非用户第一次小心使用https:在这种情况下,他们第一次受到保护,同时也防止在所有后续访问中忘记使用https。)
答案 1 :(得分:3)
Firefox还在开发一个HSTS预加载列表:http://blog.mozilla.org/security/2012/11/01/preloading-hsts/
浏览器通常在某种形式的依赖于实现的安全存储中维护HSTS信息。当然,使用Firefox和Chrome,代码是可浏览的。请参阅示例https://code.google.com/p/chromium/source/search?q=stsheader&origq=stsheader&btnG=Search+Trunk