西门吹雪和Yu关于免流的话题分享

西门吹雪:

说起免流,你可以理解为运营商的一处系统漏洞,其最早大概出现在2012年,也是从那时起,我开始接触免流,到现在2016年了,但是为什么还会存在?难道是运营商不想管?还是技术不够?还是其他原因?今晚我们就来一起讨论。

首先我先发一个移动手机网络的大概请求过程、、后面会用到

用户发出网页请求—移动(联通)10.0.0.172代理服务器—移动(联通)计费系统—-网络服务器—返回请求内容

然后,我们进入正题。

我想问下,群里有人听说过免流,或者使用过么。??

Chill:

Ssr,腾讯云做ssr免流

西门吹雪:

嗯,对。。。

其实就是运营商为了给客户提供方便,提供了一些优惠政策

如:接收彩信、登陆掌厅免除流量费以及免收取流量费的其他业务。

那么运营商是怎么实现开了这个业务,不收取流量的呢?

夏小东:

流量走特定的网站吧

西门吹雪:

是的

西门吹雪:

我先说下什么是免流:

简单点说,就是,你开数据上网但是不会扣除你套餐内的流量。

其实就是运营商为了给客户提供方便,提供了一些优惠政策

如:接收彩信、登陆掌厅免除流量费以及免收取流量费的其他业务。

那么运营商是怎么实现开了这个业务,不收取流量的呢?

西门吹雪:

运营商的计费系统为了区分用户使用的是免流量业务,还是正常访问互联网,

会把这些免流服务的网址(Host)加入到白名单,当计费系统检测到用户访问的是白名单中的网址或接收彩信时就不会进行扣费。

大家是否看见过移动或者联通,10元开通一个流量包,看视频不收取流量或者定向流量的这种业务?

西门吹雪:

我问下,大家接收彩信,会收流量么

其实是不会的。只是会收取。实际话费的费用,不会扣流量

我们就会想,。为什么不扣流量

月落乌啼:

彩信也是属于白名单里的?

西门吹雪:

其实所有10086.com的主域名还是二级域名,都是不收取流量费用的

我们平时发彩信。会扣你话费。但是不扣流量

暗夜幽灵:

那这个地址能伪造么

夏小东:

我觉得应该是把数据改成走特定的网址  而不是伪造

西门吹雪:

不伪造。。怎么来免流

一般的网页请求大概是这样,前面提过。

用户发出网页请求–移动(联通)10.0.0.172代理服务器—移动(联通)计费系统—-网络服务器—返回请求内容

运营商的计费系统为了区分用户使用的是免流量业务,还是正常访问互联网,

会把这些免流服务的网址(Host)加入到白名单,

当计费系统检测到用户访问的是白名单中的网址或接收彩信时就不会进行扣费。

那么大家想下,,我们是否可以把开始的Host提取出来

再通过某种本地代理,

修改我们平常的正常网页请求,

从而达到伪装进任何网页都不扣流量的效果呢?

答案是当然可以啦。。

西门吹雪:

现在我介绍下几种专门为免流而生的本地代理。

galaxy:

伪造是本地的啊,计费系统应该可以获取用户的请求啊

暗夜幽灵:

你的意思是他的计费系统读的是http包里的请求地址,而不是tcp包的目的ip

西门吹雪:

修改请求头,通过本地伪造,然后再发送过去

这种本地代理常用的有:Tiny,hap,Samp等等。

这些本地代理程序由各种语言开发而来,如C语言,安卓等等,是专门为免流而写的本地代理程序,并且代理程序各自有各自的修改网页请求的语法,这里暂时不做介绍。

介绍这些代理,

说白了就是通过这些代理,修改原来的请求,然后伪装(运营商提供的免流Host)来请求,

从而达到上网不扣取流量的目的

嗯。接下来我们看2张图

图一是正常请求红盟首页网址

图二是在免流状态下,进UC首页的图

乱码部分是手机抓包工具的原因。。

大家看出这2个图有什么不同木有

悦动心扉:

一个是get请求,一个是post请求

西门吹雪:

其实get 和post都是次要的。重点在X-Online-Host,

暗夜幽灵:

猜测一下,是不是把正常的包编码后用post方式提交给了免流服务器,再解析发出

西门吹雪:

这种方式是ss和openvpn这样做的,不是编码,是修改请求。

刚刚正常的是这种

GET /forum.php HTTP/1.1

Host:  bbs.cnhonker.com

免流的

GET /forum.php HTTP/1.1

X-Online-Host: wap.10010.com

Host:  bbs.cnhonker.com

暗夜幽灵:

http头里只要加过这个就能免流么

西门吹雪:

是的

东风:

经过免流服务器了

西门吹雪:

这个不是免流服务器,而是免流host

西门吹雪:

不管是移动,还是联通。。

他们的域名。。还有二级域名。。其实都不会收取流量费用。

都在自家计费系统的白名单里。。

暗夜幽灵:

x-online-host是啥含义啊

西门吹雪:

其中的Host和X-Online-Host都是移动(联通)表示真实Host的一个字段。。

三只小潴:

http://www.cnblogs.com/xitang/archive/2011/11/07/2239454.html

西门吹雪:

有人坑定会问,既然有了Host来表示真实Host,

为什么又加入了一个X-Online-Host,这个问题就有点难解释了,下面有资料说明,大家下来可以看下

http://blog.sina.com.cn/s/blog_6c0e670e0100my6z.html

悦动心扉:

也是一种代理吧

西门吹雪:

不是。。这貌似是一种代理请求。协议。。

西门吹雪:

运营商的计费系统

首先检测请求头中Host或者X-Online-Host是否含有,白名单里的Host,如果有则不会收取流量费用。

刚好,请求头被我们修改了,让Host为真实Host,X-Online-Host伪装成免流Host

这样就可以联网了。。并且可以正常访问

三只小潴:

非HTTP请求呢?!

西门吹雪:

ftp么?ftp协议的话。。我记得会连不上网。。

https协议的话,。,。,和http协议是一样。都可以这样

三只小潴:

单纯一个TCP连接

西门吹雪:

说起tcp,不得不提到我们再免流中用到的防跳(iptables)

其实我们有了代理程序是不够的。。

因为有些程序不走代理。。

这时候用到安卓系统的iptables,因为她是基于linux底层的。

通过iptables转发所有的TCP连接到本地127.0.0.1

暗夜幽灵:

iptables强行代理

这玩意就是linux的防火墙

Yu:

防跳脚本也是利用防火墙模块,所以会与禁网有冲突,不过防跳脚本不是单纯的禁网,它实现了智能化的防跳,脚本包含了设置防火墙的命令

西门吹雪:

假设我们的本地代理程序监听的是127.0.0.1:65080

可以通过iptables转发所有的TCP连接到本地127.0.0.1:65080

也就是我们的本地代理中。

如果同时启动,本地代理程序和特定的防跳(iptables)。

那么。所有的软件,系统,的所有请求,都会强制通过本地代理程序。

wkong、:

iPhone也是?

暗夜幽灵:

iphone没有这个模块,这玩意是linux内核的一部分

西门吹雪:

接着说下openvpn云免流。也就是通过服务器免流

前面提到的免流都在tcp层面来免流,而对于udp协议的请求,会直接没网

相比于前面的本地代理,openvpn服务器免流的优势在于可以连UDP协议一起免流

意思就是,不管你什么http,https,ftp,tcp,udp都会免流

有人会有疑问,为什么这么多的VPN代理不选,偏偏选了openvpn做为免流的代理

因为openvpn有自己扩展的语法和代理功能

它可以自己定义请求头,相当于我们前面说的本地代理。。

既然可以自己定义请求头了,那免流不就解决了?

但是这时候。,请求会和我们前面说的有点不一样。

用openvpn来上网的话,,会和正常上网的请求有所不同,。。

过程是这样的:用户发出网页请求–openvpn代理服务器—移动(联通)计费系统—-网络服务器–返回请求内容

暗夜幽灵:

说白了是用openvpn协议强行包个头,然后由vpn的服务端把包释放出来

西门吹雪:

引用乌云小白的话:

这个漏洞最本质的原因是运营商代理服务器和运营商的计费检测系统的分离,他们两个的检测机制不一致导致的!

如果他两一致是根本不会有这个漏洞的,因为所浏览的网站就是计费检测系统检测到的网站,无法欺骗计费检测系统。

至于代理服务器和计费系统为什么分离了,应该是功能模块化导致的,为了更好的管理各个模块,

对其进行修改升级等等,这样做是最好的,

因为就这些运营商来说一个计费系统已经非常庞大了!

倘若和代理服务器做在一起,想想维护的难度就可知。

所以目前得到的结论是,免流目前是根本不可能完全封杀,除非重做整套系统,而这样会花费巨大的成本。

运营商能做的仅仅是封杀一套免流模式,

但是要知道模式是数不尽的,所以免流一定会长期下去。除非做成和运营商的代理服务器一致。

现在的运营商。只有不停的变检测机制、

Yu:

从2015小极白客在乌云提供免流漏洞后并对已存在多年( 推算约8年)的免流漏洞三大运营商为何没采取有效措施?那么我们有什么方法来减少来损失或解决?

第一个问题上面已经说到 还有人有其他想法没?

悦动心扉:

1. 上面提到的模块化管理

2. 没必要维护

特殊技术只是掌握在少数人手中,相对于大部分用户来说,这个漏洞带给他们的损失完全可以忽略

一个人,面对世界:

现在已经成为产业链了……还不怎么管

暗夜幽灵:

还有就是抓几个出头鸟,这些损失只是重构的零头

其实这玩意如果连老太太都知道,运营商收不到流量费漏洞就堵上了

Yu:

那我们有什么方法 解决 减少损失呢

暗夜幽灵:

在代理服务器上加个包过滤

悦动心扉:

针对特定的时期变更内容,比如,现在有人大量利用,那么马上更改

Yu:

下面有几种方案 大家可以先考虑下在不计算 人力 物力 财力 纯理论的情况下哪种方案较为合适或者在计算的情况下那种合理

既然是漏洞 就要优先考虑

出一套完全可以出一套系统来检测用户的定向流量产生的大小 或两套计费系统月初 月中交换使用,这可行吗

西门吹雪:

重新开发一套系统,耗时,耗力啊、而且费用坑定不小

Yu:

进行流量封堵 对所有的"免费"流量进行计费

暗夜幽灵:

可以贴个过滤模块,要动的也只有计费模块而已

三只小潴:

检测X-Online-Host的同时也检测HOST。 弄白名单,妥妥封死,不过会比较麻烦

galaxy:

一个公司做事情得考虑成本,个别漏网的损失如果远远低于修复,那就不修

Yu:

时效好 但是系统负荷会上升 系统容量会发生相应下降

Yu:

进行计费测回捞通过BOSS侧与网络侧的联动

网络侧维护人员向移动BOSS侧提供网址,流量大小等信息进行免费流量计费 时效性差需要两方共同调试 。这个就更复杂了。

西门吹雪:

这个相当于重做计费系统了

galaxy:

boss系统很庞大

既然提到了j2me无法检测,还是程序问题啊

Yu:

但是理论上可行 通过抓包分析 日志对比 话单查询 可测试看扣不扣

Yu:

基于网络协议(Tcp/ip)/Udp 为何能从137 138 udp或者其它端口(443, 80  8080)进行免流?那这两种协议的优劣或差距体现在何处?

西门吹雪:

我理解的是,向免流host一样,,这些端口被加入了白名单

Yu:

先说下137 和138

137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,137、138端口都属于UDP端口,它们在局域网中相互传输文件信息时,就会发生作用。而138端口的主要作用就是提供NetBIOS环境下的计算机名浏览功能。 一般安装了NetBIOS协议后,该端口会自动处于开放状态。

要是非法入侵者知道目标主机的IP地址,并向该地址的137端口发送一个连接请求时,就可能获得目标主机的相关名称信息。例如目标主机的计算机名称,注册该目标主机的用户信息,目标主机本次开机、关机时间等。此外非法入侵者还能知道目标主机是否是作为文件服务器或主域控制器来使用。 如此一来,就为黑客进一步攻击系统带来了便利

但是我们可以关闭137 138端口

考虑到基于TCP/IP协议下的NetBIOS服务,几乎都是通过137、138端口实现的,因此你只要将基于TCP/IP协议下的NetBIOS服务停止掉,就能实现间接关闭137、138端口的目的.

基于udp服务器应用程序也被分配了公认的端口 如这里的137 138端口那么他们就会接受与所分配端口相匹配的数据 如果目的端口方式容易预测 那么网络入侵者就容易通过尝试最可能开放的端口访问客户端  这里已经说明了udp端口所具有的危险性

所以是否可以做手脚 大家可以猜测,欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接,我们 可以从 tcp 与udp相比 得到udp 会有更低的网络开销

tcp握手 计时器 确认机制 实现的可靠传输 其结果也就增加了网络开销tcp采用更大的数据短报头信息 管理源端和目的端的传输导致了更大的网络流量

一些程序大部分丢失数据(如网络游戏 VOIP) tcp就需要不断检测是否丢失并重传丢失数据 与小部分丢失相比 网络延迟对这些程序造成的负面影响更大 所以udp的低开销 对这些应用程序更有吸引力

Yu:

网络上免流是否违法?免流原理是运营商漏洞 但利用这个漏洞属于违法。为什么那么多人用这个漏洞没被抓?(利用漏洞已经构成破坏计算机系统罪了 ,刑法第286条第一款规定:违反国家规定,对计算机信息系统功能进行删除、依赖性、增加、干扰,造成计算机信息系统不能政常运行,后果严重的,处5年以下有期徒刑或者拘役;后果特别严重的,处5年以上有徒刑。)

一个人,面对世界:

感觉传播违法

Chill:

应该算是利用服务商的一些缺陷

西门吹雪:

属于恶意盗取运营商流量

Yu:

目前来说没有法律判定违法,只能是睁一只眼闭一只眼

Yu:

给大家看看网上的说法吧

西门吹雪:

如果真的追究,那,可能会抓几个典型,,也就是用几个T那种

Yu:

但是移动能真实检测你 用了不符合实际的流量

现在 的问题 关键是 这个"免流"模式,已经形成一个系统化、成规模的地下黑产业链。

如果 继续 发展下去的话 预估这一问题为三大运营商带来的损失,每年的总额将数以亿计。因为 就算不懂免流的 你也能 用免流

西门吹雪:

其实今年从乌云小白曝光后,运营商已经着手开始修复了,这几个月来,移动貌似在频频升级

openvpn一出来。。

再加上一套web流控系统。。

直接加剧了商业化,现在空间卖的那些,什么便宜流量,什么一个30无限流量。其实就是openvpn,免流。

Yu:

现在 免流手机 都出来了,也是绑定软件 开机自启

对于 开源系统的 不安全性 我们获取的权限 也就增大 也就能做各种事 这就有利益熏心的 空间

三只小潴:

通过升级,提高免流的技术门槛,然后自然做的人会减少。等做免流的人缩小到一个小群体的时候,再打击,效果会很好。 现在互联网公司反外挂这些都是这样做的。

西门吹雪:

其实主要是有个人开发了一个openvpn一键Centos搭建的脚本,后来在网上传播,然后二次开发,,,最后形成了一套openvpn  web流量控制系统。这个脚本也是我给大家的干货

http://bbs.cnhonker.com/forum.php?mod=viewthread&tid=11324

还有更好的一键web流控脚本,,一键Centos搭建openvpn代理。

然后就可以多用户,拿来卖流量了。可以自定义流量给用户。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注