html5 地理定位如何绕过我的 vpn?

信息安全 虚拟专用网 地理位置 html-5
2021-09-05 16:36:31

大约两个月前,出于各种原因,我决定一直使用 VPN(它在启动时启动),隐私是第一个。但最近我意识到,如果您同意在 Firefox 中弹出 HTML5 地理定位时分享您的位置,当我的 VPN IP 地址将我定位在另一个国家/地区时,他们仍然可以非常准确地(大约 3 公里外)获得您的定位。

由于我在没有 wifi 的固定计算机上,他们怎么知道我的本地化?

4个回答

我刚刚在http://html5demos.com/geo中使用我的 VPN 进行了检查

虽然我通过德国 VPN,但它仍然显示我在伦敦附近的位置。

如果您阅读https://www.mozilla.org/en-US/firefox/geolocation/,您将看到:

如果您同意,Firefox 会收集有关附近无线接入点和您计算机的 IP 地址的信息,然后 Firefox 会将这些信息发送给默认的地理定位服务提供商 Google 定位服务,以获取您的位置估计信息。

正如@Aria 所指出的,谷歌定位服务使用他们收集的 WiFi AP 来尝试确定您的位置。我假设他们通过 Google Street View 项目以及他们的 Android 设备拥有一个全球 AP SSID 列表。

编辑:

仅供参考,这是发送给 Google 的捕获请求。附近 AP 的完整列表。您可能想要启动代理并自行检查。

在此处输入图像描述

此外,您在没有 WiFi 的计算机上这一事实并不意味着附近的 AP 未存储在您计算机中的某个位置(缓存、注册表、登录 Google/Firefox 配置文件等)

VPN 会掩盖您的 IP 地址。但是 HTML5 地理定位 API 不是基于您的 IP 地址。它是一个 Javascript API,可用于根据可用的任何信息(系统区域设置、附近的 wifi 网络、GPS 传感器、网络接口的 IP 地址,如您所见)直接询问 Web 浏览器它认为它所在的位置他们与 ipconfig / ifconfig 等)。

如果您想保护您的隐私,请将您的网络浏览器配置为在向网站提供您的位置之前征求您的许可,或者完全禁用地理定位 API。如何做到这一点取决于您的网络浏览器。

如果您不使用它,请尝试禁用 HTML5 地理定位。在 Firefox 中,设置geo.enabledfalse.about:config

有错误,以后还会有,示例 1示例 2

您的 VPN 不会通过 vpn 接口路由所有流量 - 特别是封装的 vpn 流量本身必须通过您的正常互联网连接传输 - 否则它无法到达您的其他 vpn 端点。这可能允许确定您的“官方”IP(在典型的 NAT 局域网情况下,这将是您的访问路由器的外部 IP),例如通过查询http://whatsmyip.de/之类的服务(绕过代理如果适用),甚至直接提供一些地理定位服务。