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

cwd*_*cwd 9 sqlite cookies firefox

在我的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
Run Code Online (Sandbox Code Playgroud)

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

ili*_*ing 9

我在尝试阅读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数据库(原始或您的副本)拖到终端,按终端中的return.

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

以下命令可能有所帮助:

.mode column
.headers on
select * from moz_cookies where domain = '.stackoverflow.com';
Run Code Online (Sandbox Code Playgroud)

您应该会看到此网站的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.