V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Get Google Chrome
Vimium · 在 Chrome 里使用 vim 快捷键
RiverRay
V2EX  ›  Chrome

一个反常识: 在 Chrome 浏览器里如何拿到用户最真实的 CPU 和其他硬件信息(不走 UA

  RiverRay · 137 天前 · 23823 次点击
这是一个创建于 137 天前的主题,其中的信息可能已经有所发展或是发生改变。

前端老鸟都知道一个常识

谷歌浏览器里面是拿不到真实 CPU 和硬件信息的

(:UA 那个很容易伪造好吧

今天再给你一个反常识:

其实,Chromium 内置了一个系统级插件。

这个插件允许 *.google.com 网站获取宿主机 CPU 信息

去 Chromium 源码里找找,发现插件 ID 是:nkeimhogjdpnpccoofpliimaahmaaome 。

而且,这个插件还能对外通信

so ,骚操作来了

我们可以随便打开一个 Google 的网站在 console 里面输入:

chrome.runtime.sendMessage('nkeimhogjdpnpccoofpliimaahmaaome',
{method: 'cpu.getInfo'},
response => console.table(response));

CPU 、进程还有负载 一五一十的就有了

看源代码,这个内置插件里面还暴露了不少其他方法,可以自己探索玩玩

说人话:

如果你做的是浏览器扩展,完全可以获取到宿主机的 CPU 还有其他硬件信息的

哈哈哈哈哈

147 条回复    2024-07-22 09:21:14 +08:00
1  2  
nieyujiang
    101
nieyujiang  
   136 天前
歪个楼.可以使用 navigator.userAgentData
.getHighEntropyValues([
"architecture",
"model",
"platformVersion",
"fullVersionList",
])获取相对真实的信息.
testliyu
    102
testliyu  
   136 天前
代理挂在香港的时候不行,换了个节点之后可以了
635925926
    103
635925926  
   136 天前   ❤️ 1
@webbillion 又一个二极管,人家只是提到了这是个 api ,就认定人家啥啥啥了?
635925926
    104
635925926  
   136 天前
67 楼
dongsuo
    105
dongsuo  
   136 天前
用 thorium 也没能逃过一劫,烂公司!
regent
    106
regent  
   136 天前
各位大神有禁用和屏蔽的方法了吗? 还是只能转向 Firefox?
evam
    107
evam  
   136 天前
试了一下 arc 无法获取
epiloguess
    108
epiloguess  
   136 天前
zzzlight
    109
zzzlight  
   136 天前
复现成功,这谷歌自己给自己留的后门啊
lyx1975
    110
lyx1975  
   136 天前
知道就知道呗,反正早就当自己在网上裸奔了
expy
    111
expy  
   136 天前
https://news.ycombinator.com/item?id=40918052
edge on linux 复现成功,不过浏览器本体代码直接跑物理机上,信息搜集早就一锅端了。
阴谋论一点可以说是给 fork 版本留的后门?
webbillion
    112
webbillion  
   136 天前
@635925926 #103 我只是一个猜测,打了一个问号。不然为何试图用插件都有这个 API 来混淆是非呢?所有插件可以用这个 API= Chrome 内置插件用这个 API 是正当的=Chrome 内置插件只对谷歌开放也是正当的。当然你可以说这是谷歌自己的浏览器它想干嘛就干嘛,不服的人或者公司可以自己开发全民都用的扩展或者浏览器或者系统来给自己开后门——事实上我也不会因此骂或者弃用 Chrome 。只是上来就为谷歌开脱,大可不必(能给出开发文档链接的人,不可能不懂这个问题的本质)。
salmon5
    113
salmon5  
   136 天前
要说作恶,那必须是微软的 bing ,通过 edge 浏览器爬用户的上网记录到 bing 里面。
caqiko
    114
caqiko  
   136 天前
@pikko #98 确实是我没想明白。扩展的 manifest 中声明的 externally_connectable 可以为指定的页面添加 chrome.runtime.sendMessage 方法。我试了在 devtools console 中发送消息,但是报错 background 收不到消息。 这样看的话,确实挺可疑的
salmon5
    115
salmon5  
   136 天前
Google 这个是小恶,微软的 bing 是罪大恶极。
salmon5
    116
salmon5  
   136 天前
@salmon5 #113
https://www.cnet.com/tech/services-and-software/microsoft-resolves-edge-setting-that-was-leaking-websites-you-visit/
现在的情况来看,edge 可能还在爬取用户的上网记录,给 bing 的爬虫。
DOLLOR
    117
DOLLOR  
   136 天前   ❤️ 1
这事儿我有点不理解,浏览器底层自己收集数据发给 google 自己服务器不就好了,为什么还要拐弯抹角给自家网站开个白名单,暴露 JS 接口,然后用 JS 来收集呢?🤣
simpleH
    118
simpleH  
   136 天前
有个疑问,拿到 archName ,modelName 会对用户有什么影响呢?和 ua 判断系统类型的操作有啥区别
SimonOne
    119
SimonOne  
   136 天前
Vivaldi 好像不行
maikaze
    120
maikaze  
   136 天前
@SimonOne 我的 vivaldi 就可以
NessajCN
    121
NessajCN  
   136 天前
@DOLLOR 推测这种事情的起因一般遵循汉隆剃刀,也就是某个菜鸟开发需要 cpuInfo 但是改浏览器源码太麻烦就加个插件并白名单自己
SimonOne
    122
SimonOne  
   136 天前
@maikaze #120 怪了,我在 www.google.com 试的,抛出异常“TypeError: Cannot read properties of undefined (reading 'sendMessage')”,我是 6.8.3381.46 (Stable channel) (x86_64)
ajaxgoldfish
    123
ajaxgoldfish  
   136 天前   ❤️ 2
复现成功,牛 B

不过,cpu 信息而已,我身份证账号密码都在网上飘着了,还在乎这点吗。
laikick
    124
laikick  
   136 天前   ❤️ 1
Google 会告诉你他记录了哪些信息,并且允许你查阅,控制,删除。
所以还是换兲朝公司的产品吧,虽然可能记录的更多,还和实名身份永久绑定不能注销,但不告诉也你不给你看眼不见心不烦对不对?
laikick
    125
laikick  
   136 天前   ❤️ 1
说得难听点,就算是隐私被人爬了,我被海外的爬了他总不可能特地飞到大陆来人肉我吧,我何德何能啊。

至于被国内的爬了……我反正已经喝过茶了,楼主自行参考。
HTML001
    126
HTML001  
   136 天前   ❤️ 4
@laikick #125 经典比烂
WeiPong
    127
WeiPong  
   136 天前
@registerrr gmail 可以啊
VinliamCao
    128
VinliamCao  
   136 天前
@dante9 #60 有无安装包流出
weijancc
    129
weijancc  
   136 天前
还真可以, 很酷
8E9aYW8oj31rnbOK
    130
8E9aYW8oj31rnbOK  
   136 天前
@Cooky 我试了 thorium 也有效
drydiy
    131
drydiy  
   136 天前 via iPhone   ❤️ 1
还有插件可以获取到所有 cookie ,哪怕设置 httponly 。浏览器插件真的别乱装。
Damn
    132
Damn  
   136 天前
ungoogled-chromium 110.0.5481.78 复现失败

>Uncaught TypeError: Cannot read properties of undefined (reading 'sendMessage')
at <anonymous>:1:16
OneMan
    133
OneMan  
   136 天前
各位如果有当过 google play 开发者,就知道 google 对互联网的统治力,涉及每个角落,你的遍体数据,什么都有。
这个 chrome 真的不要用。
neiltroyer849
    134
neiltroyer849  
   136 天前 via iPhone
@ajaxgoldfish 不好意思虽然有点偏题但不知道为什么笑得有点想死(允悲
XiLingHost
    135
XiLingHost  
   136 天前
用 Firefox 不就好了,早该去 Google 化了
jqtmviyu
    136
jqtmviyu  
   136 天前
brave 复现失败
sunfly
    137
sunfly  
   136 天前
能拿来获取 mac 地址么😂
mayli
    138
mayli  
   136 天前
@zeR0f1re 你装了啊,chrome 自带 hangouts 插件 ( nkeimhogjdpnpccoofpliimaahmaaome )。而且你都装 chrome 了,还在乎这浏览器带个插件获得你 cpu 信息?
haixiu
    139
haixiu  
   136 天前
前些天看到 chrome 要逐步废弃 manifest v2 就转 firefox 了,用了几周感觉没啥不适应的。
muzi131313
    140
muzi131313  
   136 天前
goolge.com 验证成功,Version 126.0.6478.127 (Official Build) (arm64)
mikewang
    141
mikewang  
   135 天前
Ungoogled Chromium 8 年前就禁用了这个 feature 。这下更坚定地使用 Ungoogled Chromium 了。

https://github.com/ungoogled-software/ungoogled-chromium/issues/2944
tifaaa
    142
tifaaa  
   135 天前 via iPhone
smile2wild
    143
smile2wild  
   135 天前
@nieyujiang 对啊,而且每个请求的 ua 也会显示这些信息。谷歌这个是有什么恶劣影响吗?没懂?感觉很严重似的
playboy0
    144
playboy0  
   134 天前
好像拿不到其他信息,我想拿到显示器、摄像头、硬盘之类的,这个代码里其他方法调用会出错。
miaomiao888
    145
miaomiao888  
   132 天前
有些人又跟捡到宝似的,又是作恶甚至夸大到后门,然而我寻思 CPU 信息它属于敏感隐私数据吗?
LicV587
    146
LicV587  
   128 天前
@clifftts 当然是为了跟踪用户卖广告啊,再结合之前谷歌一直说要淘汰三方 cookie ,就更加印证了这点。禁止其他广告商跟踪用户,然后自己可以借着 chrome 的私有内部 api 继续跟踪用户,谷歌在广告领域的统治地位不就更强大了?
robinchina
    147
robinchina  
   125 天前
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2677 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 03:21 · PVG 11:21 · LAX 19:21 · JFK 22:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.