它在 Reddit 上。中间是扫描我的电脑按钮。是的,我点击了它。无论如何,它在未经我许可的情况下已经知道我的内部 IP。但我从未被提示允许或禁止它正在做什么。我正在使用 Chrome。
这是如何运作的?我从阅读中猜测它是 WebRTC,但这是在网络上找到其他计算机。这是我需要了解才能击败的东西。
我怎样才能关闭它?
编辑:我已阅读此内容,为什么我的内部 IP 地址(私有)从 Internet 可见?
但扫描对我来说是最重要的。
它在 Reddit 上。中间是扫描我的电脑按钮。是的,我点击了它。无论如何,它在未经我许可的情况下已经知道我的内部 IP。但我从未被提示允许或禁止它正在做什么。我正在使用 Chrome。
这是如何运作的?我从阅读中猜测它是 WebRTC,但这是在网络上找到其他计算机。这是我需要了解才能击败的东西。
我怎样才能关闭它?
编辑:我已阅读此内容,为什么我的内部 IP 地址(私有)从 Internet 可见?
但扫描对我来说是最重要的。
在应用层,您的浏览器没有内部和外部 IP 地址的概念。因此,任何网站都可以简单地告诉您的浏览器从您的内部网络请求资源。这不会被阻止,因为对于浏览器来说它只是一个普通的跨域请求。请注意,请求站点将无法读取任何内容,它可能只是断定那里有东西。
例如,一个网站可以尝试192.168.1.1
通过使用如下代码段来确定您的路由器是否具有 Web 界面:
<img src="http://192.168.1.1/favicon.ico" onload="alert('Yay')" onerror="alert('No')">`
类似地,网站可以让您从内部 IP 地址(以及几乎任意端口)请求资源并测量响应时间以得出有服务正在运行的结论:例如,如果请求http://localhost:8080
的响应时间很短,则您可能正在运行本地代理或类似的。
如果你级联这样的请求,你可以让浏览器进行基本的网络扫描并推断现有的 IP、主机名和服务。
这个想法也用于实际攻击。即使您的路由器接口无法从外部访问,外部攻击者也可以通过诱使您访问一个准备好的网站来执行攻击,例如最近的Netgear 路由器任意代码执行漏洞,该网站使您通过发出特制的请求来自己进行攻击路由器接口。(本质上是对 Intranet 的 CSRF 攻击。)
降低 Intranet 访问风险的一种方法是 NoScript 扩展的ABE(应用程序边界强制执行器)模块,该模块可以配置为阻止特定主机。
他们通常可以通过执行DNS 重新绑定攻击来读取 Intranet 站点的内容。比如说,您的路由器接口可以在192.168.1.1/info.cgi
. 在 DNS 重新绑定攻击中,攻击者让您访问 attacker.com
他们首先指向他们自己服务器的 IP,加载一些 Javascript,然后将其指向192.168.1.1
. 当 Javascript 然后请求attacker.com/info.cgi
时,它会解析为您的路由器接口,并且脚本能够读取响应内容。这并不违反同源策略,因为所有请求都在同源(域attacker.com
)上,尽管 DNS 条目在后台切换。(作为一种对策,站点应验证Host
标头是否包含 IP 或 Intranet 名称。但许多路由器不这样做。)