如何以纯文本形式读取key3.db和logins.json?

use*_*988 6 firefox passwords database command-line password-recovery

如何使用命令行获取key3.db和/或logins.json打印纯文本?

$ cat /home/*/.mozilla/firefox/*.default/key3.db

$ cat /home/*/.mozilla/firefox/*.default/logins.json
Run Code Online (Sandbox Code Playgroud)

小智 5

我在 Linux 上做了什么:

  1. 获取nss您的发行版的源代码包。
  2. 解压、修补和配置。
  3. 进入 nss/cmd/pwdecrypt 子目录
  4. 构建pwdecrypt工具。

我使用以下命令行来构建该工具(CentOS 7.7):

gcc -o pwdecrypt \ 
  -I/usr/include/nspr4 -I/usr/include/nss3 -I../lib \ 
  -lnss3 -lplc4 -lnspr4 -lnssutil3 -lsmime3 \ 
  pwdecrypt.c ../lib/secutil.c ../lib/basicutil.c ../lib/secpwd.c ../lib/pppolicy.c 
Run Code Online (Sandbox Code Playgroud)

这可能需要安装某些开发包(在我的例子中是 nss-devel)。

获得该工具后,转到 Firefox 配置文件目录并执行:

jq -r -S '.logins[] | .hostname, .encryptedUsername, .encryptedPassword' logins.json | \ 
  pwdecrypt -d .
Run Code Online (Sandbox Code Playgroud)

或(如果使用 key4.db 而不是 key3.db):

jq -r -S '.logins[] | .hostname, .encryptedUsername, .encryptedPassword' logins.json | \ 
  pwdecrypt -d sql:.
Run Code Online (Sandbox Code Playgroud)

您可能会发现“显示已保存的 Mozilla Firefox 密码”一文很有帮助。


Bof*_*ain 1

假设您不需要经常执行此操作并且很乐意手动执行第一步,您可以使用密码导出器,我在切换到 KeePass 之前曾经使用过它。