破解Firefox密码管理器加密的信息
This post is written in Chinese. Please consider using Google Translate
Firefox用习惯了,每次上网登录网站的时候总会依赖密码管理器自动填写密码,就这样时间长了,连自己的密码是什么也忘了。只有Firefox密码管理器还记得,只用从它下手了。
首先找到一个“型号密码查看器”,可以看密码文本框中的文字。打开Firefox,自动填充密码后,使用这个软件,不料没有反应。Firefox中的文本框做了特殊的处理,不能这样看。
即然这样,只有从Firefox密码管理器本身入手了。
我的Firefox版本是3.01,Firefox密码管理器文件在C:\Documents and Settings\用户名\Application Data\Mozilla\Firefox\Profiles***.default\signons3.txt。
打开signons3.txt一看,所有用户名和密码都被加密了,还是没法看出密码。
去网上搜了一下,也没有人研究如何破解signons3.txt的信息。我想了又想,想出一个偷梁换柱的办法。既然网站登录输入框中的信息不是被加密的,而我可以直接读取Post信息,何不让Firefox把密码Post给我?
从signons3.txt的结构中了解到是一个网站对应一条信息, 例如在126.com,用户名的文本域为user,密码文本域为pass,记录信息如下: http://www.126.com user MDoEEPgAAAAAAAAAAAAAAAAAAAvcNAwcECDJ5a7BxViHnowbb/GPEgoEwFAYIKoZIhzFAYIKoZIhvcNA *pass MDoEEPgAAAAAAAAAAAAAAAAAAAEcECm8VTbnWY58AWnPwMSDZF74fxi7BBDi7lLq8Odey/lmBBBdoAxw
http://entry.126.com
---
.
我本机的IP为192.168.1.253,在signons3.txt文件尾添加以下信息,就是把http://www.126.com换成http://192.168.1.253,保存文件,重启Firefox。 http://192.168.1.253 user MDoEEPgAAAAAAAAAAAAAAAAAAAvcNAwcECDJ5a7BxViHnowbb/GPEgoEwFAYIKoZIhzFAYIKoZIhvcNA *pass MDoEEPgAAAAAAAAAAAAAAAAAAAEcECm8VTbnWY58AWnPwMSDZF74fxi7BBDi7lLq8Odey/lmBBBdoAxw
http://entry.126.com
---
.
然后我在本地建立一个PHP环境(或者上传到一个服务器上,IP要正确),写一个这样的程序
其中 input name="user" 和 input name="pass" 要改成与signons3.txt添加的相同。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
用户名<input name="user" type="text" />
密码<input name="pass" type="password" />
<input type="submit" name="Submit" value="提交" />
</form>
<pre>
<?php print_r($_POST); ?>