首次登入一个网站时,浏览器常常会询问你是否要保存密码。若选择保存,下次再登入该网站时,便无需手动输入密码,浏览器会自动填写表单。但是,浏览器中保存的密码安全吗?

答案是不安全。本文以 Google Chrome 为例,介绍 5 种查看保存在浏览器内密码的方法。

本文地址:https://www.jeddd.com/article/view-saved-passwords.html

方法一:在浏览器设置中查看

这个没什么好讲的,是浏览器本身提供的功能。

进入浏览器【设置 (Settings)】-【自动填充 (Auto-fill)】-【密码 (Passwords)】。在【已保存的密码 (Saved Passwords)】一栏便可以查看。不过查看前需要验证操作系统账户密码,因此这种方法一般不会产生安全问题。

方法二:修改表单 type 属性

之所以网页中密码框内的内容会显示为星号或小圆点,是因为输入表单有一个 HTML 属性为 type="password"。若要查看表单中的内容,只需要修改或绕过这个属性。

  1. 密码框内点击鼠标右键,选择【检查 (Inspect)】,打开开发者工具。
  2. 弹出的【元素 (Elements)】窗口中应该已经默认选中了当前表单,一般是以 <input> 开头的一行 HTML,在其中找到 type="password" 属性,将其改为 type="text"(或直接删除该属性),然后回车确定。

  3. 密码已经显示在输入框中了:

方法三:使用 $0.value

该方法不修改表单,而是直接通过开发者工具查看 HTML 元素的值。下面语句中的$0代表“当前选中的元素”,在前端调试中常用。

  1. 同方法二第 1 步,在密码框内点击右键,选择【检查 (Inspect)】。
  2. 在开发者工具窗口中点击【控制台 (Console)】。
  3. 执行语句:

    $0.value

本文地址:https://www.jeddd.com/article/view-saved-passwords.html

方法四:执行 JavaScript

这个方法与方法二原理相同,只是将手动修改属性换成了执行 JavaScript 代码而已。

可以使用以下两种方式中的任意一种来执行 JavaScript 代码。

  • 打开目标网页,在浏览器地址栏输入以下代码,直接回车执行。将代码粘贴至地址栏时,浏览器可能会自动抹去前面的 javascript: 前缀,须手动补上。

    javascript:document.querySelectorAll('[type=password]').forEach(f=>f.type='text')
  • 或者在控制台中执行上面的代码。

方法五:HackBrowserData

hack-browser-data 是一个解密浏览器数据(密码、历史记录、Cookies、书签)的导出工具,支持 Windows / macOS / Linux 上的 Google Chrome、Microsoft Edge、Firefox、Opera 等主流浏览器。

release 页面下载编译好的二进制文件,然后直接运行,即可将所支持的浏览器的数据导出,结果默认保存在 results 文件夹下。

写在后面

除了最后一个方法使用了外部工具外,前四种方法只需要操作浏览器本身。如果将方法一和方法二~四结合,先在设置中查看浏览器保存了哪些网站的密码,然后再依次访问网站中并获取密码,同样可以得到浏览器中保存的全部密码。

本文地址:https://www.jeddd.com/article/view-saved-passwords.html