一个Cloudflare DNS & SaaS 管理面板
一个轻量化、完全运行在 Cloudflare 生态中的 Cloudflare DNS 与 SaaS (SSL for SaaS) 管理面板。github:https://github.com/H5Z2...
前几天看到论坛里大佬的 Cloudflare 自建 Bitwarden 帖子,有点动心就想着把密码库导出来玩,结果发现记得的主密码不对……试了半天也不对,密码提示写得很宽泛没一点用,真是服了我自己。那这号不要了,把密码导出来也行,结果,哈哈,我当初是为什么要主密码来着:)折腾了半天终于还是成功救回了密码库,省得一条条自己导出了!
另外我是直接使用的官方免费服务,所以不存在设置紧急联络人重置主密码的可能,那是付费用户才有的功能……自建的朋友当我没说。
必须有 1 个在线的设备,浏览器插件、手机端、电脑客户端都行,能正常点开密码库查看内容的。
必须曾经在该浏览器的插件上登录过。登录过才会有 使用设备登录 选项,首次登录是逃不过主密码验证的……

必须登录,因为这个方法是靠浏览器控制台注入 JS 来跳过密码库导出时的主密码验证,也许手机端、客户端也能通过抓包实现?但我不会(
以前登录过但账号退了还是可以靠前面提到的 使用设备登录 再登回来。

点右上角这个 弹出到新窗口 按钮再最大化,按 F12 之后选 Sources 选项卡,在左侧 Page 栏找到这个 webpack:///libs/auth/src/angular/user-verification/user-verification-dialog.component.ts 脚本。如下图所示,跟文件夹一样,一层一层往下翻就是了。一定是这个 user-verification-dialog.component.ts 脚本,底下还有个长得像的别选错。

光标随便点脚本任意一行,按 Ctrl F 搜 const verificationResult = await this.userVerificationService.verifyUser(this.secret.value); 这行代码。如图,在这行代码的行号数字上点一下,就能设置一个 breakpoint ,在 Edge 浏览器是图上的小红点,Chrome 是行号整块变蓝。

在插件页面选密码库导出,随便输入点什么都行,点继续,我这里就以 1 作为演示了。

因为前面设置了 breakpoint,点完继续就跳出开发者工具了,点进 Console 选项卡输入 this.userVerificationService.verifyUser = async function(val) { return true; } 并回车。如下图所示,控制台应输出 async ƒ (val) { return true; } 。

再回到 Sources 选项卡,直接按下 F8,或者点击右上方那个播放 ▶️ 按钮。

见证奇迹的时刻!浏览器弹出下载框!

这个方法我是从一个6年前发的 reddit 帖子学来的,具体操作变了但原理没有。至今还能用说明这不是一个 bug 而是一个 feature( 好吧我觉得实际是因为当你登录状态有效,能打开查看任意密码,官方就确认了你对密码库的所有权,密码存在本地了,导出密码库那个主密码验证就是个本地小保安,用开发者工具轻松绕过。
只要 Bitwarden 坚持在客户端解密,理论上这种本地注入的方法会一直有效。
Bitwarden 显然是坚持每个客户端都本地存一份密码库的,未来推翻这个架构的可能性很小,所以这个方法作为忘了主密码最后的拯救手段还是很可靠的!
最后,还是得说,不要忘了主密码!!!!准备好各种提示自己主密码的手段!
前几天看到论坛里大佬的 Cloudflare 自建 Bitwarden 帖子,有点动心就想着把密码库导出来玩,...
点击复制推广网址:
下载海报:
文章评论