网站可以检测到我所在的本地 WIFI 网络吗?

信息安全 网页浏览器 隐私 虚拟专用网
2021-08-18 06:23:48

我有两台电脑,它们都位于同一个本地WIFI网络(即:连接到同一个路由器)。

我在一台计算机上使用 VPN 访问一个网站,而不是在另一台计算机上使用 VPN 访问同一个网站。这个网站能知道两台电脑都在同一个本地WIFI网络吗?

4个回答

从理论上讲,是的,webrtc 标准让网站确定您的本地 IP 地址,因此它可以为您创建与另一个网络浏览器的直接连接,例如允许浏览器之间的直接连接以设置视频流。

该网站有一个概念证明,显示您的内部和外部 IP 地址: https ://www.privacytools.io/webrtc.html

一旦网站拥有两个内部 ip 地址,它就可以使用 javascript 尝试通过内部 ip 建立从 pc1 到 pc2 的连接,如果成功,它就知道这 2 台 pc 在同一个本地网络中。

备注:iOS、Internet Explorer 和 Safari 上的 Chrome 尚未实现 WebRTC,请参阅https://www.privacytools.io/#webrtc了解更多信息。

2018 年 8 月 23 日更新:最近我注意到了另一种可能的攻击媒介:

DNS重新绑定,来自维基百科:

在这种攻击中,恶意网页会导致访问者运行客户端脚本来攻击网络上其他地方的机器。理论上,同源策略可以防止这种情况发生:客户端脚本只允许访问提供脚本的同一主机上的内容。比较域名是执行此策略的重要部分,因此 DNS 重新绑定通过滥用域名系统 (DNS) 来规避此保护。

此攻击可用于通过使受害者的 Web 浏览器访问私有 IP 地址的计算机并将结果返回给攻击者来破坏私有网络。它还可以用于使用受害机器发送垃圾邮件、分布式拒绝服务攻击或其他恶意活动。

这可以通过让恶意网站/dns 服务器为其 dns 请求设置非常低的 ttl,然后让 javascript 在原始网站的地址上运行脚本来实现。有一半的时间 dns 会使用正确的外部 ip 进行响应,因此网站会加载,但几分钟后,当 javascript 启动并尝试再次访问该网站时,dns 将使用本地 ip 地址(例如 192.168. 0.1,这可以每隔几分钟更改一次),浏览器将运行 javascript 并连接到本地网络上的设备!

如果您的系统设置正确(您的 VPN 没有泄漏,除了通过您的 VPN 外,您从未联系过该网站,您不允许该网站在您的机器上运行任何东西,但默认优先级除外,并且该网站不是t 利用您的设置中的某些东西自行运行代码),然后否:网站无法发现您的两台机器都在同一个本地网络上。

这并不是说它无法发现它们是间接相关的:显而易见的方法是,如果您使用相同的凭据登录,但它们是其他更微妙的凭据(cookie 和相关对象、使用模式分析等)

OK 经过一番研究,我发现使用一些恶意的ActiveX控件是可能的。一方面,这样的控件能够读取本地磁盘上的文件。这可用于确定连接类型,以及可能的连接详细信息,包括 ESSID 和可能的SSID不过,我离制作 PoC 代码还差得很远。这当然只适用于支持 ActiveX 的浏览器。

其他方法可能涉及 Java,通常会注入一些恶意代码来控制您的机器,但后者远远超出了这个问题的范围。

通常,浏览器无法检测到您的本地 IP 或有关您的 LAN 的任何信息。因此,在您的浏览器中运行的任何 javascript 代码都无法将有关您的计算机或 LAN 的任何信息与网站通信。

但是...大多数浏览器插件和 Flash 或 Active-X 控件可以访问通常受浏览器限制的数据。因此,非常小心地对待浏览器插件和扩展非常重要。如果可能,永远不要使用这些,如果必须,请将插件设置保持为“询问”(浏览器在任何站点上运行插件之前都会询问您的位置)。