ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

学会解读 cookie_crimes 输出:Chrome Cookie JSON 字段完全解析

学会解读 cookie_crimes 输出:Chrome Cookie JSON 字段完全解析 学会解读 cookie_crimes 输出Chrome Cookie JSON 字段完全解析【免费下载链接】cookie_crimesRead local Chrome cookies without root or decrypting项目地址: https://gitcode.com/gh_mirrors/co/cookie_crimescookie_crimes 是一款无需 root 权限、也无需解密即可读取本地 Chrome Cookie 的开源工具运行后会把浏览器里的全部 Cookie 以 JSON 格式输出到终端。面对这份动辄几百行的 Chrome Cookie JSON 输出很多新手会一头雾水expires 为什么是 -1sameSite 的 Lax 和 Strict 有什么区别本文就带你把 cookie_crimes 输出里的每个字段逐一拆解从 name、value 到 httpOnly、secure彻底掌握 Cookie JSON 字段的完整含义。1. cookie_crimes 输出长什么样先看一份真实的 Cookie JSONcookie_crimes 的原理并不神秘它利用 Chrome 的远程调试协议CDP调用Network.getAllCookies接口把浏览器当前配置文件中所有站点的 Cookie 一次性取出再以缩进排版、按键名排序的 JSON 数组形式打印出来源码见cookie_crimes.py末尾的json.dumps(cookies, indent4, sort_keysTrue)。一份典型输出长这样[ { domain: .example.com, expires: 1750000000, httpOnly: true, name: session_id, path: /, sameSite: Lax, secure: true, session: false, size: 42, value: a1b2c3... } ]可以看到每个 Cookie 都是一个包含约 10 个字段的 JSON 对象。下面我们把这些字段分成四组逐个讲清楚。2. 身份四件套name、value、domain、path 字段怎么读这组字段回答的是「这个 Cookie 是谁、属于谁、在哪生效」字段含义典型示例nameCookie 的名字用于唯一标识session_id、_gavalueCookie 的值常为令牌、偏好或埋点 IDa1b2c3...可能 URL 编码domain生效域名带前导点表示对子域名也生效.example.compath生效的 URL 路径/表示全站/、/cart特别提醒Chrome 内部用「前导点」标记域 Cookiedomain cookie.example.com表示该 Cookie 对该域名及其所有子域名生效不带点的则只对精确域名生效。如果你想把输出导入 EditThisCookie 扩展需要先去掉前导点项目自带的format_for_editthiscookie.sh脚本正是为此而生。3. expires 与 sessionCookie 过期时间完全解读时间相关字段最容易让人困惑其实规则很简单expiresCookie 的过期时间单位是「自 Unix 纪元1970-01-01以来的秒数」也就是时间戳。值为-1时表示这是会话级 Cookie没有明确的过期时刻。session布尔值。true表示会话 Cookie浏览器一关就消失false表示持久 Cookie会一直保留到expires指定的时间。想把时间戳换成看得懂的时间Linux/macOS 下执行date -d 1750000000即可或者用任意时间戳在线转换工具。日常排查「为什么登录态总是掉」时优先看这两个字段会话 Cookie 在浏览器重启后必然失效属正常现象。4. 安全属性三剑客httpOnly、secure、sameSite 字段解读这三个字段直接决定 Cookie 的「抗攻击能力」也是安全审计时最该关注的部分httpOnly为true时JavaScript 无法通过document.cookie读取该 Cookie能有效防御 XSS 窃取。登录态 Cookie 通常都是true如果发现登录 Cookie 的 httpOnly 是false说明站点安全配置有隐患。secure为true时该 Cookie 仅在 HTTPS 连接下传输不会通过明文 HTTP 发送防止中间人嗅探。sameSite控制跨站请求时是否携带 Cookie三个取值对比如下sameSite 取值行为适用场景Strict跨站请求一律不携带银行、支付等高安全场景Lax跨站导航携带、跨站子请求不携带多数网站的默认折中选择None总是携带必须配合secure跨站单点登录等场景5. 容易被忽略的辅助字段size、priority 与其它字段sizeCookie 的字节大小即 name、value 等内容的总长度用于估算浏览器 Cookie 配额占用。priorityCookie 优先级Low/Medium/High在浏览器 Cookie 总量超限时决定先淘汰谁。新版 Chrome 还可能返回sameParty、sourceScheme、sourcePort、partitionKey等字段分别描述 Cookie 的同站归属、来源协议、来源端口与分区键。这些属于较新的隐私沙盒相关属性普通用户一般无需深究。6. 实战技巧把 cookie_crimes 的 JSON 导入 EditThisCookie拿到全部 Cookie 后最常见的需求是导入浏览器使用两步即可完成保存输出到文件python cookie_crimes.py cookies.json用项目脚本格式化并去掉域名前导点cat cookies.json | ./format_for_editthiscookie.sh处理好的 JSON 直接粘贴进 EditThisCookie 扩展的导入框即可。macOS 用户略有不同由于 headless 方式在 macOS 上偶尔失效需要先运行cookie_crimes_macos.sh脚本会短暂重启 Chrome 并自动清理临时文件再执行同样的格式化步骤。如果想提取非默认配置文件的 Cookie改一下cookie_crimes.py中的PROFILE_NAME变量就行更多细节可参考项目根目录的README.md。7. 常见问题速查FAQQ为什么 domain 字段带前导点A这是 Chrome 对「域 Cookie」的标记方式表示对子域名同样生效导入 EditThisCookie 前记得用format_for_editthiscookie.sh去掉。Qexpires 为什么是 -1A-1表示会话 Cookie随浏览器关闭而消失在登录态、临时令牌中非常常见并不是异常。Qvalue 看起来像乱码怎么办A部分 Cookie 值做了 URL 编码先解码再看明文即可内容通常是令牌或埋点标识。Qcookie_crimes 在 macOS 上为什么要用脚本Aheadless 方案在 macOS 上时灵时不灵脚本改用「重启 Chrome 并附加远程调试」的方式获取代价是 Chrome 会短暂闪断并恢复会话。8. 写在最后请只在合规场景下使用cookie_crimes 的价值在于帮你快速导出并理解自己的浏览器 Cookie——无论是排查登录失效、迁移会话状态还是学习 Chrome 的存储机制它都是一把趁手的瑞士军刀。但请务必记住只在本人设备、已获授权的场景下使用。项目 README 的结尾写着 dont do crimes with this please技术本身是中立的边界始终在人心。【免费下载链接】cookie_crimesRead local Chrome cookies without root or decrypting项目地址: https://gitcode.com/gh_mirrors/co/cookie_crimes创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表