首次登入一个网站时,浏览器常常会询问你是否要保存密码。若选择保存,下次再登入该网站时,便无需手动输入密码,浏览器会自动填写表单。但是,浏览器中保存的密码安全吗?
答案是不安全。本文以 Google Chrome 为例,介绍 5 种查看保存在浏览器内密码的方法。
本文地址:https://www.jeddd.com/article/view-saved-passwords.html
方法一:在浏览器设置中查看
这个没什么好讲的,是浏览器本身提供的功能。
进入浏览器【设置 (Settings)】-【自动填充 (Auto-fill)】-【密码 (Passwords)】。在【已保存的密码 (Saved Passwords)】一栏便可以查看。不过查看前需要验证操作系统账户密码,因此这种方法一般不会产生安全问题。
方法二:修改表单 type 属性
之所以网页中密码框内的内容会显示为星号或小圆点,是因为输入表单有一个 HTML 属性为 type="password"
。若要查看表单中的内容,只需要修改或绕过这个属性。
- 在密码框内点击鼠标右键,选择【检查 (Inspect)】,打开开发者工具。
弹出的【元素 (Elements)】窗口中应该已经默认选中了当前表单,一般是以
<input>
开头的一行 HTML,在其中找到type="password"
属性,将其改为type="text"
(或直接删除该属性),然后回车确定。密码已经显示在输入框中了:
方法三:使用 $0.value
该方法不修改表单,而是直接通过开发者工具查看 HTML 元素的值。下面语句中的$0
代表“当前选中的元素”,在前端调试中常用。
- 同方法二第 1 步,在密码框内点击右键,选择【检查 (Inspect)】。
- 在开发者工具窗口中点击【控制台 (Console)】。
执行语句:
$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
2020-12-19 更新:增加了 HackBrowserData 方法