要说清楚 Chrome 测试的这个内部网络保护功能我们得先举个例子 (简要说明,不是完整流程,具体可以参考 CSRF 即跨站请求伪造)帮助大家理解,比如说蓝点网使用的内网环境中有一台存在漏洞路由器,这个漏洞可以通过本地代码执行(比如注入之类的),但我长期没有升级固件修复这个漏洞。
黑客要想利用这个漏洞入侵的话并不容易,但可以通过浏览器进行中转,比如在某个网站上嵌入一段执行这段恶意代码的内容,当我浏览这个网页时,这段恶意代码就可以执行。
以此类推,黑客可以寻找大量的已知漏洞并制作恶意代码然后放在一些热门网站上,这样在大家浏览时,总有一定的概率碰到内网中恰巧有受漏洞影响的设备,进而被入侵。
内部网络保护功能:
Chrome 新推出的内部网络功能就是用来拦截此类攻击的,谷歌给出的说明是:为了防止恶意网站通过用户代理的网络位置来攻击设备和服务,这些设备和服务合理地架设它们驻留在用户的本地内联网或用户计算机上,无法从整个互联网访问。
为此谷歌推出内部网络保护功能,禁止从公网访问的跨站点访问专用网络地址,例如 127.0.0.1 或 192.168.1.1 这类地址。
Chrome 将在加载网页时进行预检查验证请求是否来自安全的上下文以及发送初步请求检测要访问的站点是否为内部地址 (例如内网搭建的 HTTP 服务器,路由器这类可以通过本地 IP 访问的都算)。
比如下面这个嵌入的 iframe 框架可以用来执行 CSRF 攻击从而修改本地网络上的路由器 DNS: