昨天深圳下了一天的暴雨,2014年的雨水真是够多的。

用户的资源就是金钱,怎的也要好好利用嘛不是?

ISP的劫持手段真是花样百出。从曾经的DNS(污染)劫持到后来的共享检測。无不通过劫持正常的请求来达到他们的目的。

之前分析过通过劫持HTTP会话,插入iframe来检測用户后端有无共享行为,但后来移动终端的发展导致ISP開始有所收敛,由于即使检測出来也不敢断用户的网了。

但是如今又出了新的花样……

近期,每当我打开baidu首页的时候,总是发现奇怪的现象,明明输入的仅仅是www.baidu.com。可是却莫名其妙的出现了跳转,最后发现实际訪问的URL居然带上了尾巴。

好吧。起初我以为我又被流氓软件盯上了,但左思右索使劲翻遍也没发现什么被弓虽女干的迹象。仅仅好打开虚拟机来试试。结果发现我干净的虚拟机也出现了一样的现象。

这时我才明确。又被电信劫持了,那么这次又是如何的劫持手段呢?


被劫持的现象


首先,我们看看现象:

当我们打开www.baidu.com的时候。浏览器终于的目的URL却变成了http://www.baidu.com/?tn=90509114_hao_pg

这中间明显感受到了页面的跳转。那么我们看看浏览器上的后退button,就发现了端倪。

http://112.124.105.244/jmp?m=redirect&src=szdx-baidu

咦。这是什么地址,看起来就像劫持的玩意。再细致一看。szdx(深圳电信),真是自报家门,毫不忌讳啊!


劫持的原理


那么电信是怎样劫持了我们正常的百度请求呢?

经过检查,DNS是正常的,没有问题,那就说明这是HTTP链路层劫持了。

果断抓包,进行一次被劫持的会话,非常快就有了。

咋一看,请求的serverIP没有错,似乎没什么问题,但细致一看问题就有了。

内容全然就不是一回事,这玩意怎么可能是百度返回的嘛。显然是被赤裸裸的劫持了。

继续深挖扩线,看看到底在哪被劫持了。

先看看正常的百度响应。

唔。人家的server但是BWS(BaiduWebServer)呢。

那么就说明,我的HTTP会话被劫持了。收到了伪造的响应,回头再从被劫持的TCP流中寻找痕迹。

没错,我们找到了这个相当关键的细节!

我们在收到伪造的响应后,又收到了一个被认定为“伪造的重响应”数据包,而这个数据包正是我们这次请求真正的响应。

但此时。这个数据包已经视为无效了,观察SEQ和ACK编号就可以发现其手段(TCP原理,请參考RFC#3708)。

为了证实这个是伪造的响应。我们知道一个人能够伪装成不论什么样子,可是其指纹可不是随便就能改变的。

HTTP工作在应用层,应用层就是一个人的外貌,想换成什么样子都行,可是IP层(网络层)所在的操作系统可就是指纹了。

我们先看看我这到正常百度server的IP包TTL值为54。这是一般不会改变的,即使路由不同,其波动也只是±1、2

然后再看看被劫持的响应IP包TTL值居然为252,这就证明了不仅被非法劫持了并且这黑手离我仅几步之遥!

科普:不同的操作系统环境TTL值通常是固定的一个数。常见的是16的倍数,然后每经过一个节点减1。

顺水推舟,揪出元凶。先看看我这到百度server经过了哪些网络节点。

嗯,然后我们ping一下百度server。确认其TTL为54,与上述一致。

然后我们ping一下3号节点,TTL值为253,没有问题。

接着我们ping下一个5号节点。TTL值为251,也没有问题。

那么TTL为252的4号节点,显然就是劫持我们的元凶了,但是人家早就不让ping了,呵呵。

依据电信的网络结构。2、3号节点算是DSLAM接入、汇聚层集,那么4号节点显然是在城际骨干网前面插入类IDS系统的节点了。

由此证据链已经完整。我们能够得出一个结论:HTTP劫持就是ISP所为。


劫持的动机


事物的存在肯定有其必定性,既然如今不检測共享了,那么为什么要劫持咱们的百度请求呢?

业内人士都应该知道,百度和hao123这类站点都有联盟存在,联盟的作用就是推广。带来流量。

加尾巴的行为,就是在做这样的事情。

就深圳的居民用户数来说,按一天100W的保守訪问计数来说。如果100元/W訪问付费,那么一天下来。ISP就有了1W元的收入,那一个月就有30W的额外收入了。

假如通过这样的方式,劫持各种购物站点,增加自己的推广。按一天成交额100W,平均返利1%计算,这又是一天1W元的收入,那一个月又有30W的额外收入了。

所以这样的只只须要对HTTP请求的host參数判别进行劫持就能够坐着收钱的事。谁都何乐而不为呢?

记住上面仅仅是保守计算的样例而已,谁知道将来还有其它的什么东西?

至于这个行为是ISP的行为还能够理解,但假设是某些员工的个人行为私自牟利那我觉得这就玩大了,但不管是哪种,粗暴侵犯用户通信自由。都是违法行为。

建议出现这样的现象的用户。果断向ISP示威,必要时可找工信部。


坚强的后盾


好像遗漏了一点,112.124.105.244这是何方神圣,为何能承载深圳电信数以万计的请求量?

inetnum: 112.124.0.0 - 112.124.255.255
netname: ALIBABA-CN-NET

这个IP来自杭州,查询IP信息发现。原来是阿里云的server。

加之这个server仅仅是跳转功能,用的是ATS(Apache Traffic Server)server,所以区区几百万的小流量还真不算什么。

为了尽可能的让用户感受不到被劫持,保证速度是关键,看得出人家选择阿里云也是用心良苦啊!


向劫持说不


那么我们怎么防范劫持呢?

非常遗憾。还真没办法预防。

唯一可行的预防方法就是尽量使用HTTPS协议訪问。

眼下。我们知道其劫持原理后知道仅仅能通过检測TTL的变化或HTML元素检查来判定。但这都不是一般用户能够解决的。

只是,依据眼下的情况。我们能够考虑在边界设备针对TTL为252且为TCP协议的包做DROP处理。切记不能REJECT。
(以普通居民用户的网络来说,TTL为252的TCP响应差点儿不可能存在,所以特异性还是比較突出的)

但治标不如治本,还是去投诉吧!


好吧,本期解读电信劫持方式就临时先到这儿了。本文不针是对某个ISP。只对ISP业内的现象做分析。谢绝请喝,茶叶请寄信箱。

转载于:https://www.cnblogs.com/jzssuanfa/p/6963873.html

分析深圳电信的新型HTTP劫持方式相关推荐

  1. 安全-分析深圳电信的新型HTTP劫持方式

    ISP的劫持手段真是花样百出,从以前的DNS(污染)劫持到后来的共享检测,无不通过劫持正常的请求来达到他们的目的. 之前分析过通过劫持HTTP会话,插入iframe来检测用户后端有无共享行为,但后来移 ...

  2. 深圳电信isp劫持www.google-analytics.com的ga.js来弹出广告窗口分析

    现象 每天第一次登录QQ的时候的,浏览器就会自动打开,gd.189.cn的一个广告页面,特别烦如图呐 调查 通过抓取有登录数据包和分析包的数据. 其实和QQ没多大关系. * QQ的登录与验证通地udp ...

  3. 偷天换日——新型浏览器劫持木马“暗影鼠”分析

    腾讯电脑管家 · 2016/05/31 12:06 0x00 背景 近日哈勃分析系统截获了一批新型浏览器劫持木马 "暗影鼠",该木马通常被打包在压缩包内伪装视频播放器通过网页进行传 ...

  4. [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径 - 草根的暂时胜利

    如果你还不知道问题的起因,请首先移步到这两篇文章 1.      [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径,以及修改Hosts文件,使用OPENDNS无效情况下的解决方案 2.      ...

  5. 庆祝自开博来首篇浏览数过万的随笔诞生 - [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径......

    这是自从2009年创立本博客以来,首个浏览数过万的随笔.庆祝!庆祝! 1. [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径,以及修改Hosts文件,使用OPENDNS无效情况下的解决方案(11 ...

  6. [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径,以及修改Hosts文件,使用OPENDNS无效情况下的解决方案...

    问题描述 新年刚过,我就发现使用的安徽电信E9套餐有HTTP劫持的情况(网上有人说DNS劫持,有人说网页劫持),我想大致就是这种情况. 重现非常简单,在地址栏输入一些不存在的网址(比如http: // ...

  7. [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径 – 之深度分析

    如果你还不知道问题的起因,请首先移步到这篇文章<[原创]从程序员角度分析安徽电信HTTP劫持的无耻行径,以及修改Hosts文件,使用OPENDNS无效情况下的解决方案> 我所深恶痛绝事情 ...

  8. 共享汽车一种新型的交通方式

    随着社会经济的发展,我国人民的消费思想也在发生着改变,目前买车的人越来越多.但随着我国汽车销量的上涨,汽车保有量的不断上涨,特别是在一线城市,汽车使用成本越来越高,加上停车难.政府出台的限行政策.交通 ...

  9. 基于Python分析深圳程序员工资有多高?

    基于Python分析深圳程序员工资有多高? 概述 前言 统计结果 爬虫技术分析 爬虫代码实现 爬虫分析实现 后记 前言 多图预警.多图预警.多图预警.校招季,毕业也多,跳槽也多.我们的职业发展还是要顺 ...

最新文章

  1. C#设计模式(7)——适配器模式(Adapter Pattern)
  2. iOS UIButton 图片文字上下垂直布局 解决方案
  3. java接口测试工具_接口测试基础了解篇
  4. JdbcTemplate(1)(数据连接池)
  5. 31 天重构学习笔记28. 为布尔方法命名
  6. 【测试】ABAP发送HTML格式邮件FM
  7. Oracle 数字与空值的排序问题
  8. LDA主题模型原文解读
  9. 如何在SAP Spartacus自定义Component里消费数据
  10. 玩转oracle 11g(29):检查操作系统版本和查询表中修改数据
  11. [Leedcode][JAVA][第14题][最长公共前缀][二分][横竖扫描][分治]
  12. iOS之加密的三种方法
  13. [HNOI2008]越狱(luogu P3197)
  14. 开发APP不搞清楚这20个问题,必然沦为一场灾难
  15. 24.UART串口通讯框图、波特率计算方法
  16. 从键盘输入字符串,按回车键结束,在第二行显示输入内容。
  17. 合宙Air105|Socket|UDP |TCP/IP|W5500|Serial 串口|透传|DTU|网络测试助手|双机互联|内网测试|官方demo|学习(8-3):Socket网络接口-双机互联透传
  18. 企业微信小程序-获取员工信息
  19. NRF52832 WDT
  20. Vmware Esxi在线管理虚拟机

热门文章

  1. 计算机视觉论文-2021-07-01
  2. 解决Python中sum函数出现的TypeError: unsupported operand type(s) for +: 'int' and 'list'错误问题
  3. DEKR 解构式人体关键点回归(二):标签分配(Label Assignment)
  4. java controller json_Controller 获取 JSON
  5. 归档-软考网规-存储部分-san-nas-das
  6. 在线翻译英文html文件,copy html是什么意思
  7. matlab 迭代时保存每次迭代数据,Matlab 迭代步数据保存问题.
  8. fast-planner 安装
  9. 关于Lodop打印控件
  10. mysqldump备份表中有大字段失败的排错过程