关闭常见浏览器的HSTS功能

admin 2022年1月6日01:41:53安全博客评论19 views2302字阅读7分40秒阅读模式

HSTS简介

​ HSTS代表的是HTTPS严格传输安全协议,它是一个网络安全政策机制,能够强迫浏览器只通过安全的HTTPS连接(永远不能通过HTTP)与网站交互。这能够帮助防止协议降级攻击和cookie劫持。

​ HSTS最初是为了响应Moxie Marlinspike在2009 BlackHat Federal(2009年黑帽安全大会)上进行的题为“实践中击败SSL的新技巧”的演讲中所提出的一个漏洞而创建的。HSTS所防御的特定漏洞就是利用的是Marlinspike发布的一款叫做SSLStrip的工具。

​ 本质上,这个工具是通过将安全的HTTPS连接转换回不安全的HTTP连接来工作的。通过告知浏览器应当使用HTTPS连接,HSTS能够修复这一问题。HSTS还能帮助避免Firesheep等常见工具窃取基于cookie的登录凭证。

​ 不幸的是,部分HSTS设置可能会不经意地造成浏览器错误。例如,如果你使用的是Chrome,你可能就会遇到:

“隐私错误:你的连接不是私人的”(NET::ERR_CERT_AUTHORITY_INVALID)。

在安装配置 SSL 证书时,可以使用一种能使数据传输更加安全的Web安全协议,即在服务器端上开启HSTS (HTTP Strict Transport Security)。它告诉浏览器只能通过HTTPS访问,而绝对禁止HTTP方式。

HTTP Strict Transport Security (HSTS) is an opt-in security enhancement that is specified by a web application through the use of a special response header. Once a supported browser receives this header that browser will prevent any communications from being sent over HTTP to the specified domain and will instead send all communications over HTTPS. It also prevents HTTPS click through prompts on browsers.

但是,在日常开发的过程中,有时我们会想测试页面在 HTTP 连接中的表现情况,这时 HSTS 的存在会让调试不能方便的进行下去。而且由于 HSTS 并不是像 cookie 一样存放在浏览器缓存里,简单的清空浏览器缓存操作并没有什么效果,页面依然通过 HTTPS 的方式传输。那么怎样才能关闭浏览器的 HSTS 呢,各种谷歌度娘之后,在这里汇总一下几大常见浏览器 HSTS 的关闭方法。

Safari 浏览器

  1. 完全关闭 Safari
  2. 删除 ~/Library/Cookies/HSTS.plist 这个文件
  3. 重新打开 Safari 即可
  4. 极少数情况下,需要重启系统

Chrome 浏览器

  1. 地址栏中输入 chrome://net-internals/#hsts
  2. Delete domain 中输入项目的域名,并Delete 删除
  3. 可以在 Query domain 测试是否删除成功

PS:chrome://net-internals/#hsts是Chrome用来管理你的浏览器的本地HSTS设置的UI

Opera 浏览器

和 Chrome 方法一样

Firefox 浏览器

方法一:

  1. 关闭所有已打开的页面
  2. 清空历史记录和缓存
  3. 地址栏输入about:permissions
  4. 搜索项目域名,并点击 Forget About This Site

方法二:

  1. 关闭Firefox中所有打开的标签。
  1. 利用键盘快捷键Ctrl + Shift + H(Mac上为Cmd + Shift + H)打开完整的历史窗口。在以下步骤中,你必须使用到这一窗口或侧边栏。
  1. 找到你想要为之删除HSTS设置的网站——如果需要,你可以在右上角搜索该网站。
  1. 从项目列表中右键点击该网站,并点击忘记这个网站。这将会清除这个域名的HSTS设置(以及其他缓存数据)。
  1. 重启Firefox并访问该网站。你现在应当能够通过HTTP/中断的HTTPS访问这一网站了。如果这些说明行不通,那么你可以尝试以下手动方式:

方法三:

首先,通过你的操作系统的文件资源管理器来定位你的Firefox配置文件。你可以通过导航到about:support来找到Firefox的这一文件夹。

向下滚动到页面中部,在应用程序基本要素部分,你将看到配置文件夹。点击打开文件夹。

现在关闭Firefox,因此浏览器便不会覆盖我们将要进行修改的任何设置。

在你的配置文件夹中,找到并打开文件SiteSecurityServiceState.txt。该文件包含了你之前访问的域名的HSTS和HPKP(Key Pinning,一种独立的HTTPS机制)缓存设置。

搜索你想要为之清除HSTS设置的域名,并将它从文件中删除。每个条目都有域名。删除从想要的域名开始到下一个列出的域名中的所有的条目。还有一种方法,你可以将现有文件从a .txt重命名为a .bak(为了保存现有的文件,以防万一)并允许Firefox在下次启动时创建一个全新的文件。

以下是一个简单的HSTS列表示例。

www.thesslstore.com:HSTS 0 17312 1527362896190,1,0

https://www.racent.com/blog/clear-hsts-settings-chrome-firefox

https://kebingzao.com/2020/05/25/header-hsts/

https://iamkun.com/node/51

FROM :b0urne.top | Author:b0urne

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日01:41:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  关闭常见浏览器的HSTS功能 http://cn-sec.com/archives/722264.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: