GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
阅读:6327回复:27

请教一个问题:Firefox中可以访问到Windows的注册表信息吗?

楼主#
更多 发布于:2010-11-21 14:48
以前从没想过这个问题。前几天,同事的 Skype 账号,在网上让别人充值。结果别人让他提供 Skype 账号和密码,他就给了,冲完值后,他立刻改了Skype密码,还用新密码登录打了电话,以为这样就安全了。结果过了2天,他再次用Skype打电话时,发现不能登录了,就用Skype的忘记密码方法,让Skype发送一个链接到他的E-Mail中,然后通过这个链接重设密码。结果这2天他试了6次都不成功(24小时内只能用3次)。后来我在帮他处理的过程中发现,可以通过Skype的消费记录找回密码,于是我马上怀疑帮他充值的人黑了他的Skype了。然后我在我的电脑Firefox浏览器中,用英文帮他给Skype的客服写了一个反馈,后来Skype给他回复了一个E-Mail,里面包含了我写反馈时的一些电脑信息,包含浏览器的UserAgent,IP地址,以及我电脑上的Skype版本号。问题来了,Skype的网页,是怎么抓取到我电脑上的Skype版本号的?我的Skype是便携版,直接到磁盘的%ProgramFiles%\Skype下是找不到Skype的,我能想到的,只可能是读取注册表,从注册表中保存的Skype程序位置,再读取Skype程序的版本号。所以,我就想问一下,在Firefox浏览器中,真的可以访问Windows的注册表吗?

另外,提醒一下大家,不要到淘宝网上买Skype的充值!否则,别人可以用他手上的消费记录取得你的Skype账号和密码。刚才同事从TOM-Skype的网上看到,Skype的充值,是可以转移到其他人账号上的。所以,我同事Skype账号上的钱,我可以100%肯定,已经被帮他充值的人转走了。他的Skype账号目前被锁定了,Skype公司要求他提供证据(充值流水号或者用来充值的信用卡账号)才能解锁,但是他没有这些证据。虽然钱不多(不到2欧元,当初是花12元人民币买的2欧元充值),但是教训还是深刻的。另外,他很少用Skype,所以换一个Skype账号对他没有影响。
jnlyu
狐狸大王
狐狸大王
  • UID10304
  • 注册日期2005-12-04
  • 最后登录2015-06-17
  • 发帖数304
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2010-11-21 14:48
應該是不支持遠程訪問系統註冊表。
AppNavi手机应用官方微博 介绍最新的密室逃脱游戏!
http://weibo.com/appnavi
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
2楼#
发布于:2010-11-21 14:48
jnlyu:應該是不支持遠程訪問系統註冊表。回到原帖

浏览器中用 javascript 是可以访问、运行本地文件的,那么可以用 javascript 访问Windows的注册表吗?
royallin
非常火狐
非常火狐
  • UID29014
  • 注册日期2009-05-31
  • 最后登录2016-12-07
  • 发帖数668
  • 经验46枚
  • 威望0点
  • 贡献值32点
  • 好评度0点
  • 社区居民
3楼#
发布于:2010-11-21 14:48
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20101102 Firefox/4.0

这里不是也可以吗?
arch7819
火狐狸
火狐狸
  • UID30890
  • 注册日期2009-10-29
  • 最后登录2011-02-19
  • 发帖数153
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2010-11-21 14:48
UA, IP 这些能看到是正常的. 有了IP 通过 SKYPE 服务器上的通讯记录, 得到版本一点都不奇怪.

要从浏览器里获得版本信息, 本地的 chrome 脚本可以做到(本地 chrome 脚本持有 firefox主程序 的安全令牌, 可以访问这个令牌授予的任何资源, 借助 ctypes, chrome 脚本可以比 firefox 还要强大!), 网站上的脚本属于 content, 正常是不能的.
context 脚本也不能直接和本地文件交互, 不可读写, 更不可能能运行程序. 唯一的方式是用INPUT来让用户授权它读取文件.  
这里有个例外: skype 在本地给firefox 装了 插件(plugin), 然后 content 脚本用 plugin 提供的接口获取你机器上的信息.(plugin 的代码持有 plugin-container.exe 的令牌, 并且是二进制代码)
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
5楼#
发布于:2010-11-21 14:48
可能不是通过浏览器,而是Skype程序本身。你登录Skype,就发送了你的IP地址和版本号,他们跟你浏览器发过来的IP地址进行一个匹配。看起来像是通过浏览器得到了版本号。

呃,楼上已经说过了。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
6楼#
发布于:2010-11-21 14:48
同一个IP,还有另外一个同事在用Skype。我估计应该不是用IP来判断的,至少不是单纯用IP来判断。另一个同事用的是WinXP,同事用的是邀游,我用的是Win7 和 Firefox。如果 Skype 登录的时候,同时将 Windows 的版本号也传给 Skype 服务器,那么在浏览器中,根据 UserAgent 判断 Windows,再加上 IP,倒是可以区分我和同事来的。但是如果一个公司有很多人的话,IP 都相同,也有人用 Firefox 的话,那不就是识别不了了。
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
7楼#
发布于:2010-11-21 14:48
arch7819:UA, IP 这些能看到是正常的. 有了IP 通过 SKYPE 服务器上的通讯记录, 得到版本一点都不奇怪.

要从浏览器里获得版本信息, 本地的 chrome 脚本可以做到(本地 chrome 脚本持有 firefox主程序 的安全令牌, 可以访问这个令牌授予的任何资源, 借助 ctypes, chrome 脚本可以比 firefox 还要强大!), 网站上的脚本属于 content, 正常是不能的.
context 脚本也不能直接和本地文件交互, 不可读写, 更不可能能运行程序. 唯一的方式是用INPUT来让用户授权它读取文件.  
这里有个例外: skype 在本地给firefox 装了 插件(plugin), 然后 content 脚本用 plugin 提供的接口获取你机器上的信息.(plugin 的代码持有 plugin-container.exe 的令牌, 并且是二进制代码)
回到原帖

可以确定,Firefox没有Skype的插件,我用的Skype是便携版。
arch7819
火狐狸
火狐狸
  • UID30890
  • 注册日期2009-10-29
  • 最后登录2011-02-19
  • 发帖数153
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2010-11-21 14:48
还有一种可能的情况就是你机器上 skype.exe 正在运行,
skype.exe 默认会在本地打开 web 服务端口(我运行tomcat抛异常, 查下去发现它好死不死还开在80上, 简直是找日.), content 脚本也可以用 xhr 向你本地的skype web服务请求数据, 于是就能抓到版本.
forfirefox
火狐狸
火狐狸
  • UID32807
  • 注册日期2010-05-11
  • 最后登录2016-06-07
  • 发帖数243
  • 经验23枚
  • 威望0点
  • 贡献值14点
  • 好评度0点
  • 社区居民
  • 忠实会员
9楼#
发布于:2010-11-21 14:48
我想说点别的。。
tom版的skype据传有监控程序,所以还是到墙外下载个原版的安装比较好。
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
10楼#
发布于:2010-11-21 14:48
forfirefox:我想说点别的。。
tom版的skype据传有监控程序,所以还是到墙外下载个原版的安装比较好。
回到原帖

用的不是 TOM 版 Skype,其实我和另外2个同事,现在就在墙外。
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
11楼#
发布于:2010-11-21 14:48
arch7819:还有一种可能的情况就是你机器上 skype.exe 正在运行,
skype.exe 默认会在本地打开 web 服务端口(我运行tomcat抛异常, 查下去发现它好死不死还开在80上, 简直是找日.), content 脚本也可以用 xhr 向你本地的skype web服务请求数据, 于是就能抓到版本.
回到原帖

Skype 默认会启用 80 和 433 端口,作为接入连接的备用端口。但是我在 Skype 的设定中,已经关闭那个选项了。
arch7819
火狐狸
火狐狸
  • UID30890
  • 注册日期2009-10-29
  • 最后登录2011-02-19
  • 发帖数153
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于:2010-11-21 14:48
客服发过来的版本是你的版本而不是你同事的版本?
我记得你会脚本的喵? 你写个页面丢gae上, 然后上firefox试验下.

var wrk = Components.classes["@mozilla.org/windows-registry-key;1"]                    .createInstance(Components.interfaces.nsIWindowsRegKey);
wrk.open(wrk.ROOT_KEY_LOCAL_MACHINE,
         "SOFTWARE\\Microsoft\\Windows\\CurrentVersion",
         wrk.ACCESS_READ);
var id = wrk.readStringValue("ProductId");
wrk.close();
alert(id)

skype.exe 在运行, 它就会开一些本地端口. 也许 content 的 xhr 不发向 localhost:80, 而发向其他的特定端口. 除此外我想不出其他的方式了....
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
13楼#
发布于:2010-11-21 14:48
arch7819:客服发过来的版本是你的版本而不是你同事的版本?
我记得你会脚本的喵? 你写个页面丢gae上, 然后上firefox试验下.

var wrk = Components.classes["@mozilla.org/windows-registry-key;1"]                    .createInstance(Components.interfaces.nsIWindowsRegKey);
wrk.open(wrk.ROOT_KEY_LOCAL_MACHINE,
         "SOFTWARE\\Microsoft\\Windows\\CurrentVersion",
         wrk.ACCESS_READ);
var id = wrk.readStringValue("ProductId");
wrk.close();
alert(id)

skype.exe 在运行, 它就会开一些本地端口. 也许 content 的 xhr 不发向 localhost:80, 而发向其他的特定端口. 除此外我想不出其他的方式了....
回到原帖

我看了,另外2个同事的Skype版本号,和我的都不一样。那个e-mail里的Skype版本号,就是我电脑上的Skype版本号。上面的代码,我随便找了一个网页测试,第一行就出错了。
ithinc
狐狸大王
狐狸大王
  • UID22844
  • 注册日期2008-02-04
  • 最后登录2014-09-28
  • 发帖数371
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
14楼#
发布于:2010-11-21 14:48
你填写反馈表单的时候,Skype程序是否正打开呢?可能是通过某种程序间通信得到的吧。你把那个反馈链接贴出来,也许大家就能看出什么了呢。
Tab Utilities的功能要求,请提交到http://tabutils.uservoice.com
上一页
游客

返回顶部