你认为在火狐中存储你的密码是安全的吗?简短的回答是“不”。任何有权访问您的笔记本电脑的犯罪者都可以在几秒钟内解密您的所有密码。
Python 是一种通用语言,可用于开发许多有用的应用程序来改善我们的日常生活,但是,同样可用于利用导致数据丢失和隐私的系统漏洞。
以前,我写过一篇关于“如何使用 python 破解 Chrome 密码”的文章,并且由于提供了宝贵的信息,我的读者收到了很多积极的反馈。在知道其漏洞后,许多人停止使用 Chrome 上的自动保存密码功能,因为使用我的 python 脚本可以轻松破坏它。
出于好奇,我对 Firefox Web 浏览器进行了研究,发现它也不能幸免于此漏洞。在本文中,我将分享我的知识,并描述破坏 Firefox 保存密码的步骤。
破解火狐密码的步骤
破解 Firefox 密码有三个主要步骤。
- 识别已保存的用户名和密码的位置
- 加载网络安全服务 (NSS) 库
- 解密保存的用户名和密码
第 1 步:确定保存的用户名和密码的位置
对于不同的操作系统,它保存在不同的文件位置,如下所示:
Windows: C:/Users/<PC Name>/AppData/Roaming/Mozilla/Firefox/ProfilesMac: ~/Library/Application Support/Firefox/ProfilesLinux: ~/.mozilla/firefox/Profiles
打开文件夹后,您将在里面看到一些配置文件。相应的配置文件属于之前登录过 Firefox 的用户。
让我们进入任何配置文件并找到 logins.json 文件。打开文件后,您将能够看到以下信息。
{“id”:1,”hostname”:”https://login.ebay.com","encryptedUsername":"KoZIhAAAAAAAAAAAA","encryptedPassword":"HoktY1AAAAAAA","guid":"{92071111-e714-1192-a293-1222d2d5237}"
恭喜你,你找到了三个关键信息:
- 主机名
- 加密用户名
- 加密密码
第 2 步: 加载网络安全服务 (NSS) 库
用户名和密码使用 PKCS #11 加密标准进行加密,该标准使用您的设备作为加密和解密的“加密令牌”。Firefox 开发了 NSS 库,以将该标准采用到他们的浏览器中。
以下是相应操作系统的 NSS 库名称。
Windows: nss3.dllMac: libnss3.dylibLinux: libnss3.so
它可以在您的 Mozzila Firefox 应用程序目录中轻松找到。
第 3 步: 解密保存的用户名和密码
加载库后,是时候使用它进行解密了。我希望下面的伪代码为您提供整个解密过程的直觉。
#step 1: convert data (i.e. usernames/password)from base64 to string data = b64decode(data64)#step 2: pass the string data into the SECItem object as input data input = SECItem(0, data, len(data))#step 3: create a SECItem object to store the decrypted output data create a output = SECItem(0, None, 0)#step 4: perform PK11 decryption PK11SDR_Decrypt(inp, out, None)
将所有内容放在一起
在了解了解密过程背后的直觉之后,您可以分析此GitHub 存储库中 firefox_decrypt.py 源代码,以更好地了解整个过程。
键入以下命令以执行源代码:
python firefox_decrypt.py
恭喜您已经学会了如何解密您的火狐密码!感谢undeode开发了这样一个有趣的工具。
学习材料
有关完整代码,请访问:https://github.com/unode/firefox_decrypt
要了解如何破解 chrome 密码,请访问:如何使用 python 破解 Chrome 密码
免責聲明
我正在分享这些知识,以提高人们对此漏洞的认识,并展示利用此漏洞是多么容易。您不应在未经授权的设备上使用此工具。干杯!
翻译自:https://medium.com/geekculture/how-to-hack-firefox-passwords-with-python-a394abf18016