Chrome浏览器的Profile数据内容简介

news2024/9/22 21:33:15

前文简介了Chrome存储的账密/Cookie数据:一段代码读取Chrome存储的所有账号密码和Cookie

本文再扩展介绍一下Chrome存储的其它一些隐私数据。
注:因为业务需要,简单调研了一些基本内容和存储路径,没有深入去研究,有啥问题可以一起探讨。

Profile介绍

对于Chromium内核的浏览器,在使用过程中,会产生很多用户数据,比如浏览器配置、比如浏览过程中生成的缓存文件等等,都会存储在电脑的某个目录里。
这个目录以及里面的文件,就被称之为该用户的Profile。

Profile目录在哪里

对于不同的用户(匿名用户也算一个用户),每个用户都会有自己的独立的缓存目录,该用户产生的数据,也是存储在这个独立的用户缓存目录中,那如何找到这个目录呢?
以Chrome为例,在浏览器地址栏输入 chrome://version/ 可以看到页面上有个Profile Path(中文叫:个人资料路径),这个就是你的Profile数据存储所在的个人目录了,从这个英文名称,大家也就知道Profile这个命名的由来了:
在这里插入图片描述

Profile生成规则

  • 操作系统不同账号登录,Profile也在不同的目录下,所以不同系统用户,肯定是各自独立的Profile;
  • 同一个Windows用户,首次启动Chrome,该用户的Profile是在%LocalAppData%\Google\Chrome\User Data\Default
    然后登录Google账号后,会自动使用该Defalut目录,作为该Google账号的Profile目录
  • 如果在Chrome里登录第2个Google账号,会为该Google账号,创建一个新的Profile,下图是在我电脑上登录第2个Google账号,生成的新的Profile目录:
    在这里插入图片描述
  • 如果在同一台电脑上登录了多个谷歌账号,每次启动Chrome时,都会出现profile的选择窗口,让你选择使用哪一份Profile数据:
    在这里插入图片描述

Profile数据项介绍

每个Profile里,存储的主要数据有如下这些:

  • 浏览器的设置信息
  • 浏览器书签,你记录在浏览器里的快捷链接
  • 账号密码,比如twitter网站的账号密码
  • cookie,每个网站都会生成的一些个人相关的数据
  • 浏览器的历史访问记录
  • 浏览器下载历史记录
  • 浏览器自动填充的表单数据
  • 浏览器扩展,含扩展的程序文件和扩展写入的数据(如LocalStorage、IndexDB)
  • 浏览器访问的网页代码写入的数据,如LocalStorage、IndexDB
  • 浏览器访问过的网页缓存,如图片、css、js等
  • 浏览器关闭时,还未关闭的标签页列表
    注:以上并不是全部,这些个人隐私信息,需要关注和避免泄露。

下面的介绍,以Chrome为准,并假设Profile目录为:
%LocalAppData%\Google\Chrome\User Data\Default\

浏览器设置

存储文件路径:%LocalAppData%\Google\Chrome\User Data\Default\Preferences
这是一个json格式的文件,浏览器设置修改后都会存储在这里,包括登录后的账号信息也会在这里。
所以这里肯定会有我们的隐私内容。
你可以先备份,再尝试修改一些浏览器设置,再对比前后2个文件,就知道设置对应的json项了,文件内容参考:
在这里插入图片描述
注:还有另一个文件:%LocalAppData%\Google\Chrome\User Data\Default\Secure Preferences 里面也存储了一些安全相关的设置,不过内容比较少,我也没有深入去研究内容。

浏览器书签

存储文件路径:%LocalAppData%\Google\Chrome\User Data\Default\Bookmarks
这也是一个json格式的文件,就是你在Chrome里收藏的那些网址,可以通过快捷键Ctrl+Shift+B进行显示和隐藏,
这个当然也是个人隐私了。
该文件内容大致如下:
在这里插入图片描述

账号密码

存储文件路径:%LocalAppData%\Google\Chrome\User Data\Default\Login Data
这是一个sqlite数据库文件,账号密码存储在logins这张表里,该表的密码字段进行了加密,其它都是明文。
具体内容和读取方式,可以参考前文:一段代码读取Chrome存储的所有账号密码和Cookie

Cookie

存储文件路径:%LocalAppData%\Google\Chrome\User Data\Default\Network\Cookies
这也是一个sqlite数据库文件,数据存储在cookies这张表里,cookie的值在encrypted_value里,进行了加密,其它都是明文。
具体内容和读取方式,可以参考前文:一段代码读取Chrome存储的所有账号密码和Cookie

历史访问记录

存储文件路径:%LocalAppData%\Google\Chrome\User Data\Default\History
这还是一个sqlite数据库文件,所有历史访问记录存储在urls这张表里:
在这里插入图片描述

下载历史记录

下载历史记录也在上面这个History文件里,是在downloads这张表里:
在这里插入图片描述

自动表单数据

存储文件路径:%LocalAppData%\Google\Chrome\User Data\Default\Web Data
这也是一个sqlite数据库文件,所有自动表单填充记录存储在autofill这张表里。
在这里插入图片描述
注:这个数据库里还会存储你在Chrome里使用过的信用卡之类的数据。

扩展

存储目录路径:

  • 扩展的代码文件存储在这个目录下:
    %LocalAppData%\Google\Chrome\User Data\Default\Extensions\
  • 不会进行同步的扩展数据,存储在这个目录下:
    %LocalAppData%\Google\Chrome\User Data\Default\Local Extension Settings\
    比如使用js代码chrome.storage.local.set写入LocalStorage,就会存储在这个目录下
  • 会通过Google账号进行同步的扩展数据,存储在这个目录下:
    %LocalAppData%\Google\Chrome\User Data\Default\Sync Extension Settings\
    目录下有n个子目录,每个子目录是一个扩展
    比如使用js代码chrome.storage.sync.set写入LocalStorage,就会存储在这个目录下

网页写入数据

存储目录路径:

  • 网页代码写入的LocalStorage数据存储在这个目录下:
    %LocalAppData%\Google\Chrome\User Data\Default\Local Storage\
  • 网页代码写入的IndexedDB数据存储在这个目录下:
    %LocalAppData%\Google\Chrome\User Data\Default\IndexedDB\
    该目录下有n个子目录,每个域名或扩展一个,也是leveldb文件
  • 注:这2份数据,都是leveldb文件,我没去深入研究和解读

网页缓存

存储目录路径:%LocalAppData%\Google\Chrome\User Data\Default\Cache\Cache_Data\
这是一个目录,所有缓存都经过特殊处理后写入这里,这些文件无法正常访问,不过网上有人写了工具:
chromecacheview
你可以搜索并下载一下,通过这个工具,可以查看这些缓存里的内容:
在这里插入图片描述

网页缓存的延伸知识:
这些缓存会在本地存多久:(访问时间 - 该文件的最后修改时间) ÷ 10
参考:https://youbl.blog.csdn.net/article/details/84879670

未关闭的标签页

存储目录路径:%LocalAppData%\Google\Chrome\User Data\Default\Sessions
里面有2个Session开头的文件,还有2个Tabs开头的文件.
都是ssns格式的文件,参考解析说明,我没去进一步解析:
https://github.com/JRBANCEL/Chromagnon/wiki/Reverse-Engineering-SSNS-Format

其它知识

数据通用性

所有基于Chromium内核的浏览器,Profile数据项都是通用的,
以Chrome和Edge为例,验证方案:
关闭Chrome和Edge,再把Chrome的任意一项数据,复制到Edge的对应Profile目录下,再启动Edge,会发现Edge自动拥有了Chrome的数据。
注:尽量基于同一内核版本测试,因为不同的内核版本,一些字段会有差异,可能会有问题。

Profile里的时间格式

上述数据项里,都会有一些长整型格式的时间数据,这些不是标准的时间戳,而是表示自1601年1月1日以来经过的纳秒数,
下面是使用Javascript,把Chrome时间,转换为标准时间戳的示例代码:

const chromeTs = 13276168466314428;
const dt = new Date(1601,1,1);
dt.setMilliseconds(dt.getMilliseconds() + chromeTs/1000);
console.log(dt.getTime());

SSLKEYLOGFILE说明

ietf出的一个草案,这里有介绍及输出文件的格式说明:
https://www.ietf.org/archive/id/draft-thomson-tls-keylogfile-00.html

简单说,就是标准的浏览器,如 Chrome或Firefox、Safari、Edge、Elctron、curl等等,支持使用一个环境变量,把ssl通讯过程中生成的密钥记录下来,可以用于ssl流量的解密。
在系统环境变量里,设置一个环境变量,例如key为SSLKEYLOGFILE 值为 d:\sslkey.txt
确定保存后,重启Chrome,你就会在D盘看到记录密钥的sslkey.txt文件了

这个文件,可以搭配Wireshark抓包工具自动解密https的请求响应数据,
步骤参考:https://my.f5.com/manage/s/article/K50557518

filter展示:tcp.port==443 and (http or http2)

游戏

URL地址: chrome://dino/
这是Chrome内置的一个小恐龙游戏,进入后,通过按空格,来控制小恐龙躲避障碍。
如果处于断网状态,启动Chrome会自动提示这个游戏。联网里,可以通过输入上面的url来进入。
据说该游戏的长度,设置为17000年,所以你再厉害,也是无法通关的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1927227.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C 语言指针进阶

1.0 指针的定义 指针是内存中一个最小单元的编号(内存单元的编号称之为地址【地址就是指针指针就是地址】)指针通常是用来存放内存地址的一个变量。本质上指针就是地址:口语上说的指针起始是指针变量,指针变量就是一个变量&#…

本地部署,Flash Diffusion: 加速条件扩散模型实现快速图像生成

目录 引言 技术背景 Flash Diffusion 的架构与原理 Flash Diffusion 的主要特点 本地部署 运行结果 实验结果与分析 应用实例 结论 GitHub - gojasper/flash-diffusion: Official implementation of ⚡ Flash Diffusion ⚡: Accelerating Any Conditional Diffusion M…

uniapp:国家、省市区,4级联动

使用uview的Select 列选择器 选择器完成国家,省市区,4级联动 要求后台数据格式: list: [{label: 中国,value: 1,children: [{label: 河南省,value: 2,children: [{label: 郑州市,value: 3,children: [{label: 中原区,value: 4},{label: 郑东…

系统架构师考点--系统安全

大家好。今天我来总结一下系统安全相关的考点,这类考点每年都会考到,一般是在上午场客观题,占2-4分。 一、信息安全基础知识 信息安全包括5个基本要素:机密性、完整性、可用性、可控性与可审查性 (1)机密性:确保信息…

嵌入式智能手表项目实现分享

简介 这是一个基于STM32F411CUE6和FreeRTOS和LVGL的低成本的超多功能的STM32智能手表~ 推荐 如果觉得这个手表的硬件难做,又想学习相关的东西,可以试下这个新出的开发板,功能和例程demo更多!FriPi炸鸡派STM32F411开发板: 【STM32开发板】 FryPi炸鸡派 - 嘉立创EDA开源硬件平…

IMS架构中的注册与会话流程:RTPEngine集成及消息路由详解

目录 S-CSCF 调用 RTPengine 整体路由 注意 IMS 注册流程 和 IMS 会话流程 的区别 IMS注册流程 IMS会话流程(如INVITE请求) 这种设计的原因 P-CSCF 调用 RTPengine S-CSCF 调用 RTPengine 整体路由 UA a生成SDP offer,发送SIP INVITE请求(包含SDP offer)&…

MySql 数据库 - 下载安装

MySQL数据库 简单介绍 数据库 数据存储的仓库数据库管理系统 操作和管理数据库的大型软件SQL 操作关系型数据库的变成语言,是一套标准 版本 MySQL官方提供了两种不同的版本: 社区版 免费,MySQL不提供任何的技术支持商业版 收费&#xff0c…

数据结构(单链表(1))

前言 线性表中有着许多的结构,如顺序表和链表。而单链表则是链表的最基础的一种形式,下面就让我们对其做一个了解。 概念 概念:链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次…

【python】Pandas中`ValueError: cannot reindex from a duplicate axis`错误分析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

构建GitLab代码私有仓库

构建代码私有仓库 公司代码仓库一般都放在git上,但为了安全一般都不会放在开放的git上,都会搭建自己的仓库,今天就记录一下git搭建的过程。以下安装过程以centos7为例: 步骤一:安装并配置依赖项,同时打开ht…

解决gitlab报502的问题

external_url http://10.7.24.6:10002 puma[port] 8091 sudo gitlab-ctl reconfigure sudo gitlab-ctl restart 设置管理员密码: 1. 切换目录:cd 安装目录gitlab的bin目录下 2. 以root执行 :gitlab-rails console命令,等待…

HTTP背后的故事:理解现代网络如何工作的关键(一)

一.HTTP是什么 概念 : 1.HTTP ( 全称为 " 超文本传输协议 ") 是一种应用非常广泛的 应用层协议。 2.HTTP 诞生与1991年. 目前已经发展为最主流使用的一种应用层协议. 3.HTTP 往往是基于传输层的 TCP 协议实现的 . (HTTP1.0, HTTP1.1, HTTP2.0 均为 T…

Linux离线安装Mysql5.7

Linux之Mysql安装配置 第一种:Linux离线安装Mysql(提前手动下载好tar.gz包) 第二种:通过yum安装配置Mysql(服务器有网络) 之前在阿里云上采用yum安装过一次(请看这里),…

文心一言 VS 讯飞星火 VS chatgpt (303)-- 算法导论22.2 1题

一、请计算出在有向图22-2(a)上运行广度优先搜索算法后的d值和π值。这里假定结点3为算法所用的源结点。如果要写代码,请用go语言。 文心一言: 在Go语言中实现广度优先搜索(BFS)以计算有向图上的距离(d值&#xff09…

【Java--数据结构】队列与栈的相互成就

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 用队列实现栈 用栈实现队列 用队列实现栈 oj链接 一个队列是无法实现栈的 入栈push:把数据放到不为空的队列当中。 注意:第一次入栈时&…

【K8s】专题七(2):Kubernetes 服务发现之 Ingress

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号! 目录 一、基本介绍 二、工作原理 三、资源清单(示例) 1、Ingress Cont…

为什么要使用加密软件?

一、保护数据安全:加密软件通过复杂的加密算法对敏感数据进行加密处理,使得未经授权的人员即使获取了加密数据,也无法轻易解密和获取其中的内容。这极大地提高了数据在存储、传输和使用过程中的安全性。 二、遵守法律法规:在许多国…

MMLab-dataset_analysis

数据分析工具 这里写目录标题 数据分析工具dataset_analysis.py数据可视化分析 benchmark.pybrowse_coco_json.pybrowse_dataset.pyOptimize_anchors mmyolo、mmsegmentation等提供了数据集分析工具 dataset_analysis.py 数据采用coco格式数据 根据配置文件分析全部数据类型或…

方便好用的C#.Net万能工具库Masuit.Tools

文章目录 简介开发环境安装使用特色功能示例代码1. 检验字符串是否是Email、手机号、URL、IP地址、身份证号等2.硬件监测(需要管理员权限,仅支持Windows,部分函数仅支持物理机模式)3.html的防XSS处理:4.整理Windows系统的内存:5.任…

STM32智能停车场管理系统教程

目录 引言环境准备智能停车场管理系统基础代码实现:实现智能停车场管理系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:停车场管理与优化问题解决方案与优化收尾与总结 1. 引言 智能停车场管…