如何使用SQLite从Firefox cookie文件中读取数据?

时间:2011-09-30 13:15:09

标签: sqlite firefox cookies

在我的Firefox配置文件目录中有一个cookies.sqlite文件,其中包含Firefox Cookie的数据。我抓住了Firefox SQLite Manager 扩展并加载了这个文件,但是如何使用普通查询命令来读取该文件中的cookie?

这是我到目前为止所尝试的:

$ sqlite3 cookies.sqlite
sqlite> SELECT * FROM dbname.sqlite_master WHERE type='table';
SQL error: file is encrypted or is not a database

我甚至无法列出表格,因此我无法开始尝试列出Cookie。如果我可以连接,我希望能够在那里读取和写入数据,但我是SQLite的新手。

3 个答案:

答案 0 :(得分:10)

我在尝试阅读Mac OS 10.6.8(Snow Leopard)上的cookies.sqlite文件时遇到了同样的问题。我从http://www.sqlite.org/download.html下载了SQLite 3.7.10,然后我可以打开该文件。

以下是我所做的演练......

  • 下载SQLite 3,转到您的下载文件夹并解压缩该文件,以便您现在在下载文件夹中有一个新的SQLite 3。
  • 打开一个新的取景器窗口,按下CMD + Shift + G,在弹出的“转到”对话框中输入〜/ Library / Application Support / Firefox / Profiles,然后按返回。
  • 假设您只有一个Firefox配置文件,您应该在这里看到一个名为XXXXXXXX.default的文件夹(其中XXX字符串将是一些随机字符)。打开此文件夹,或者如果您有多个配置文件,请打开您要查找的配置文件的文件夹。
  • 在里面你会找到cookies.sqlite数据库文件,你可以在这里直接使用它,但是你可能想在其他地方使用它而不会弄乱Firefox使用的那个。如果你想直接使用Firefox,那么我认为你必须首先退出Firefox,否则它会锁定文件。
  • 打开一个新的终端窗口,将sqlite3二进制文件从downloads文件夹拖到终端窗口,这应该在命令行中输入sqlite3的路径。
  • 现在,将cookies.sqlite3数据库(原件或您的副本)拖到终端,按终端返回。

如果一切顺利,你应该得到sqlite>命令提示符。如果您输入.tables,您应该看到表moz_cookies,然后您可以进一步查询和调查。

以下命令可能有所帮助:

.mode column
.headers on
select * from moz_cookies where domain = '.stackoverflow.com';

您应该会看到此网站的Cookie中存储的所有值。

我发现这个尝试提取curl使用的cookie值,并发现:http://slacy.com/blog/2010/02/using-cookies-sqlite-in-wget-or-curl/非常有帮助。

如果你想更新Mac上的现有sqlite3,我做了sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3.old(如果以后遇到任何问题,我可以再将其移回),然后sudo mv ~/downloads/sqlite3 /usr/bin/sqlite3

答案 1 :(得分:0)

使用sqlite3

sqlite3 file.sqlite

然后使用以下命令查看表

.tables

答案 2 :(得分:0)

我能够使用开源通用数据库管理器DBeaver打开它。