从今年年初开始,一些大型论坛开始广泛流传一个可以让用户免费无限流量上网的方法,被用户称之为“云免”。具体做法是,通过 OpenVPN 修改数据host发送给服务器,当host修改为 wap.10086.cn / rd.go.10086.cn 等任何被归属运营商列入免费流量的网站时,用户所有接收的返回数据将被计入免费流量,以此达到免费无限流量上网的目的。通过VPN方式进行免费上网的方式被用户称作“云免”。

这是一个运营商的一个设计/逻辑缺陷,换句话说,是个漏洞。

著名平台乌云已经详细报告并公开了该漏洞,下面我们结合该漏洞报告来详细解析下。

众所周知,运营商为了给客户提供方便,提供了一些优惠政策,比如:接收彩信、登陆掌上营业厅免除流量费以及免收取流量费的其他业务。

而用户通过 Squid + OpenVPN 自身的 HTTP代理 自定义服务器http请求头信息,将其改为运营商网站,这样,当系统检测到请求头属于访问运营商网站的数据时,计费系统就会将之计入到上述优惠政策范围内,而不再收取流量费,用户即可达到免费上网的目的。

以下是某地区中国移动用户使用的免流量上网的代理方式(这段代码使用率惊人,通过 POST、GET 等方式提交/获取数据,并把host定义为运营商网站):

http-proxy-option EXT1 "POST http://**.**.**.**" 
http-proxy-option EXT1 "GET http://**.**.**.**"
http-proxy-option EXT1 "X-Online-Host: **.**.**.**"
http-proxy-option EXT1 "POST http://**.**.**.**"
http-proxy-option EXT1 "X-Online-Host: **.**.**.**"
http-proxy-option EXT1 "POST http://**.**.**.**"
http-proxy-option EXT1 "Host: **.**.**.**"
http-proxy-option EXT1 "GET http://**.**.**.**"
http-proxy-option EXT1 "Host: **.**.**.**"
http-proxy Squid服务转发IP 80

这是个严重的漏洞,乌云报告之后,运营商想必已经开始修复这个漏洞。