Beyond the Void
BYVoid
破解Firefox密碼管理器加密的信息
本文正體字版由OpenCC轉換

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); ?>

保存,在Firefox瀏覽器中打開,http://192.168.1.253/pass.php。點一下文本框,讓Firefox自動完成填寫,點提交。然後,密碼就這樣暴露出來了。

總結一下,這次密碼找回行動充分暴露了Firefox的安全隱患,起碼我以後再也不用密碼管理器了。 其實如果讓我來做的話,加密還可以加強的,比如把域名作爲密鑰等等手段(這樣也不行,還能改hosts文件呢)。 總之這個東西是很容易暴露你的信息的,也許有寫網站寫了腳本,專門欺騙密碼管理器來盜取你的密碼。

本文寫到這裏的時候想起來另一種更簡單的辦法,不用PHP了。其實傳地方式改成GET就行了,具體我就不說了,呵呵。

[BYVoid 原創]


上次修改時間 2017-05-22

相關日誌