前言
WebRTC(网页即时通信,Web Real-Time Communication) 它允许浏览器内进行实时语音或视频对话,而无需添加额外的浏览器扩展。包括 Chrome、Firefox、Opera、Safari 均支持,并且在移动端也有支持。虽然此功能可能对某些用户有用,但它会对任何使用 VPN 的人构成威胁。WebRTC 漏洞的可怕之处在于,即使你用 VPN 代理上网仍然会暴露自己的真实 IP 地址。
泄露原理
WebRTC 这个漏洞是在 2015 年初被发现的。通过该漏洞,网站管理员可以轻易地通过 WebRTC 看到用户的真实 IP 地址,即使用户使用 VPN 隐藏自己的 IP。 该漏洞影响支持 WebRTC 的浏览器,包括 Chrome 和 Firefox 浏览器。
WebRTC 采用 STUN(Session Traversal Utilities for NAT)、TURN 和 ICE 等协议栈对 VoIP 网络中的防火墙或者 NAT 进行穿透。用户发送请求至服务器,STUN 服务器会返回用户所用系统的 IP 地址和局域网地址。
返回的请求可以通过 JavaScript 获取,但由于这个过程是在正常的 XML/HTTP 请求过程之外进行的,所以在开发者控制台看不到。这意味着,这个漏洞的唯一要求就是浏览器要支持 WebRTC 和 JavaScript。
检测浏览器是否泄露
这里提一下,宝塔面板也有收集用户真实ip到他们服务器,使用的技术手段就是webRtc
① 连接 V*N 代理
② 访问:https://ip.wm404.com/
如果在 WebRTC 的部分看到了公网 IP 地址,则说明你已经暴露了身份信息。
WebRTC防范措施
Chrome 安装扩展禁用
安装「WebRTC Leak Prevent」扩展
将「IP handling policy」选项设置为「Disable non-proxied UDP (force proxy)」
点击「Apply Settings」以应用
Firefox 修改配置禁用
在浏览器地址栏输入「about:config」回车
搜索「media.peerconnection.enabled」字段
双击「media.peerconnection.enabled」首选项,使其值变为「false