Вопрос: Как использовать SQLite для чтения данных из файла cookie Firefox?


В моем профиле профиля Firefox есть cookies.sqlite файл, содержащий данные для файлов cookie Firefox. Я схватил Firefox Менеджер SQLite  расширение и загрузку этого файла, который работает, но как я могу использовать простые команды запроса для чтения файлов 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.


8


источник


Ответы:


У меня была такая же проблема, пытаясь прочитать файл cookie.sqlite на Mac OS 10.6.8 (Snow Leopard). Я загрузил SQLite 3.7.10 из http://www.sqlite.org/download.html  и затем я мог открыть файл.

Вот прохождение того, что я сделал ...

  • Загрузите SQLite 3, перейдите в папку загрузки и распакуйте файл, чтобы теперь у вас появился новый SQLite 3, который находится в папке с загрузкой.
  • Откройте новое окно поиска, нажмите CMD + Shift + G, в диалоговом окне «перейти», в котором появляется сообщение «~ / Библиотека / Поддержка приложений / Firefox / Профили», а затем нажмите «Возврат».
  • Предполагая, что у вас есть только один профиль Firefox, вы должны увидеть папку с именем XXXXXXXX.default (где строка XXX будет представлять собой некоторые случайные символы). Откройте эту папку или, если у вас есть несколько профилей, откройте папку профиля, который вы ищете.
  • Внутри вы найдете файл файлов cookie.sqlite, вы можете использовать это здесь напрямую, но вы можете захотеть сделать копию в другом месте для использования без риска испортить тот, который использует Firefox. Если вы хотите напрямую использовать Firefox, то я думаю, что сначала вы должны выйти из Firefox, иначе он заблокирует файл.
  • Откройте новое окно терминала и перетяните sqlite3 двоичный файл из папки загрузки в окно терминала, это должно ввести путь к sqlite3 в командной строке.
  • Теперь перетащите базу данных cookies.sqlite3 (оригинал или вашу копию) на терминал, нажмите return в терминале.

Если все будет хорошо, вы должны получить командную строку sqlite>. Если вы введете .tables, вы увидите таблицу moz_cookies, которую вы затем можете запросить и продолжить.

Следующие команды могут помочь:

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

Вы должны увидеть все значения, хранящиеся в вашем файле cookie для этого сайта.

Я нашел это, пытаясь извлечь значения cookie для использования curl и нашел следующее: http://slacy.com/blog/2010/02/using-cookies-sqlite-in-wget-or-curl/  быть чрезвычайно полезным.

Если вы хотите обновить существующий sqlite3 на своем Mac, я сделал sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3.old (как раз в случае любых будущих проблем, я могу переместить его обратно), а затем sudo mv ~/downloads/sqlite3 /usr/bin/sqlite3,


10