如何在終端里查詢並解析chrome瀏覽器的cookie呢?
每次查詢cookie,總是要先打開瀏覽器,然后在設置選項中找,很麻煩
我們能不能寫一個工具,直接在Terminal中獲得相應網站的cookie呢?
下面,我們以mac系統中chrome瀏覽器為例,進行探索。。。
找到chrome瀏覽器的cookie文件所在位置~/Library/Application Support/Google/Chrome/Profile 1/Cookies
這個位置可能不一致,有些機器在~/Library/Application Support/Google/Chrome/Default/Cookies
目錄下
cookie文件是sqlite3數據庫的文件格式,我們使用sqlite3加載
cd ~/Library/Application\ Support/Google/Chrome/Profile\ 1/ && sqlite3 Cookies
查看數據庫中有哪些表
> .tables
查看cookies表結構
> .schema cookies
得到表結構
CREATE TABLE cookies(
creation_utc INTEGER NOT NULL,
host_key TEXT NOT NULL,
name TEXT NOT NULL,
value TEXT NOT NULL,
path TEXT NOT NULL,
expires_utc INTEGER NOT NULL,
is_secure INTEGER NOT NULL,
is_httponly INTEGER NOT NULL,
last_access_utc INTEGER NOT NULL,
has_expires INTEGER NOT NULL DEFAULT 1,
is_persistent INTEGER NOT NULL DEFAULT 1,
priority INTEGER NOT NULL DEFAULT 1,
encrypted_value BLOB DEFAULT '',
samesite INTEGER NOT NULL DEFAULT -1,
UNIQUE (host_key, name, path));
哈哈,我們直接用sql語句查詢相應字段,不就大功告成了,so easy!
等等...encrypted_value是什么鬼!!!
原來,chrome瀏覽器對cookie的value字段做了加密
解密算法參考 http://n8henrie.com/2014/05/decrypt-chrome-cookies-with-python/
算法是用macox的mock密碼作為私鑰,對value進行了AES加密;我們拿到DerivedKey
進行解密即可得到原值
如果不想研究具體怎么解密的,直接看我的項目吧,基於golang實現