流量劫持攻击之链路劫持剖析 (流量劫持攻击怎么解决)

教程大全 2025-07-19 21:57:31 浏览

0x00 前言

链路劫持属于流量劫持攻击的一种,在电商领域较为常见,网络上也有不少案例。本文作者将会结合公司实际发生的案例来简要剖析链路劫持有关技术。由于作者水平有限,见解浅显在所难免,望大牛勿喷,如有描述不当之处望各路看官批评指正。

0x01 劫持案例分析

流量劫持攻击之链路劫持剖析

案例现象描述:

有用户反馈访问公司部分业务的URL时被重定向至公司其他业务的URL,导致用户无法请求所需的服务,严重影响了用户体验以及用户利益。我们第一时间通过远控的方式复现了上述现象,并及时抓取了相关数据包以供分析,当然前期也采取了用户电脑杀毒、开发者工具分析等方式排除了用户端个人原因的可能性。从图1来看,初步判断是运营商某员工所为,意欲通过流量重定向来获取非法的流量分成,啥意思呢,被劫持的该业务的流量要经过联盟的该账户spm,使得公司再付费给联盟,归根结底还是为了盈利。

图1

案例问题追踪:

通过分析抓取的样本数据发现,数据包在传输过程中出现异常TTL,目标机的正常TTL为51如图2。

图2

这里出现异常TTL值116和114,并且两个包的ID(Identification)值相同,均为25576,如图3和图4,明显是伪造的包。

图3

图4

另外 服务器 banner信息也发现了异常情况,公司提供的Server是Tengine的,网站编写语言是Asp.Net的,在响应头中应该能看到,而异常响应头部无此信息,如图5所示:

图5

综上判断,中间链路发生了劫持。劫持者应该是利用在运营商内部的便利条件,在网关路由器上添加嗅探程序,嗅探明文HTTP请求数据包,拿到要劫持的数据包之后,马上给请求者返回HTTP response(302 到其他 url),导致用户无法访问正常URL。

劫持意图分析:

通过tcp流跟踪,发现劫持行为指向了一个spm=s-32528773787910-pe-f-801.psy_**2的联盟账户,如图6、图7所示,目的在于通过付费流量来获取利润,这也验证了刚开始的初步判断。

spm可以理解为跟踪引导成交效果数据的解决方案,可以用来评估某一个站点上某一频道的访问和点击效果,以及后续引导和成交情况。

图6

图7

劫持影响:

用户无法正常访问所需业务,且致公司流量及利益损失。

解决措施:

简单粗暴的应对措施:封账号,相关部门投诉,当然投诉的效果不能抱太大希望。

链路劫持其他案例

京东:

唯品会:

Github:

新浪:WooYun: 新浪博客疑似被流量劫持攻击Github(目标纽约时报和某墙仓库) “>WooYun: 新浪博客疑似被流量劫持攻击Github(目标纽约时报和某墙仓库)

搜狐:WooYun: 搜狐视频疑似流量劫持攻击Github “> WooYun: 搜狐视频疑似流量劫持攻击Github

百度:需科学)

0x02 链路劫持概述

链路层劫持是指第三方(可能是运营商、黑客)通过在用户至服务器之间,植入恶意设备或者控制网络设备的手段,侦听或篡改用户和服务器之间的数据,达到窃取用户重要数据(包括用户密码,用户身份数据等等)的目的。链路层劫持最明显的危害就是帐号、密码被窃取。最常见的就是某些设备实现的对非法站点的访问拦截,以及一些地区运营商的网页植入广告行为。

链路劫持的原理就是运营商(也可能是黑客)在用户访问网站的时候进行窃听,获取用户访问的目的ip后,然后以这个ip为source-ip冒充网站给用户响应,通常响应中会插入一段JS代码,这段代码可能会让用户去get一些非真实网站资源,最终可能造成真实页面被插入广告,被蒙层,甚至整页面被替换,严重影响用户体验以及企业形象。由于链路劫持可能通常发生在last-mile,而last-mile被运营商牢牢控住,所以这对监测以及解决问题带来了巨大的挑战。劫持原理大概如图8所示。

图8

目前发现的TCP链路劫持攻击一般有两种形式:中断访问型(分为单向发包和双向发包)和替换页面型。

中断访问型常见于阻止用户访问某些网站,如某些设备禁止用户访问某些站点、某地运营商的禁止ADSL多终端上网功能。其原理就是伪造服务端给用户发RST包阻止TCP连接的建立(单向发包)。某些设备做得比较狠,在冒充服务端给用户发RST包的同时也冒充用户给服务端发RST包(双向发包)。

替换页面型常见于运营商植入广告,也有篡改正常网页进行SEO、骗流量的。最恶劣的莫过于钓鱼,如2011年出现过的Gmail钓鱼事件以及一些不为人知的钓鱼事件。原理也简单,就是在一个HTTP请求后伪造服务端的HTTP响应给客户端。

0x03 链路劫持判断依据

TTL:表现为TCP 报的 TTL 不一致甚至抖动很大。一种情况是跟正常包的ttl相差明显,就像以上本案例中的那样;另一种情况是通过ttl来判断操作系统类型,进而间接判断数据包是否有异常。

Identification:出现不符合 RFC 标准的情况。对于给定地址和协议的ip包来说,它的identification应该是公差为1的单调递增数列。每一个IP封包都有一个16位的唯一识别码。当程序产生的数据要通过网络传送时都会被拆散成封包形式发送,当封包要进行重组的时候这个ID就是依据了。标识字段唯一地标识主机发送的每一份数据报。通常每发送一份消息它的值就会加1。

Banner信息:与已知信息矛盾,如本案例中。

TTL:TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段。

虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。

TTL的主要作用是避免IP包在网络中的无限循环和收发,节省了网络资源,并能使IP包的发送者能收到告警消息。

不同的操作系统环境TTL值一般是固定的一个数,常见的是16的倍数,然后每经过一个节点减1。一般来说服务器不会修改默认的TTL值,例如LINUX默认的TTL为64,Windows默认的TTL为128。

下面是默认操作系统的TTL:

WINDOWS NT/2000 TTL:128WINDOWS 95/98 TTL:32UNIX TTL:255LINUX TTL:64WIN7 TTL:64

0x04 解决方案

https是目前应对链路劫持用的较多的解决方案。https是加密协议,我们随便抓个http包,发现http包里面的所有东西都是明文的,这样就会被监听,而https协议是加密的。

但是光加密还不够,因为只是application>

0x05总结

链路层劫持较为底层,而且很多涉及运营商行为,所以不可能从根本上来防止(或者找到运营商,或者抓住黑客,当然运营商你是战胜不了的你懂得)。个人认为应对链路劫持一般可以考虑几个维度:业务层面、技术层面。所有的安全都是为业务服务的,在确保业务的前提下,做好安全防护措施。最重要的是技术层面加强有效检测、监控,包括对有关攻击技术的研究、对日志流量等数据的分析。当然,对企业来讲,我们只能够尽量做好自身,对于我们不可控的因素往往无能为力。总之,广域网一点都不安全,所以敏感信息传输一定要加密,还要高强度加密。

就到这里,请各位看官批评指正。

0x06 参考文献

【1】:

【2】:

【3】:

【4】:

【5】:

【6】:


电脑网速和电脑运行速度有关吗?

网速慢一般由以下原因造成的1.你的操作系统出现问题(包括丢失文件 中了病毒木马还有磁盘碎片太多等等)2.你的浏览器出现问题(包括丢失文件和被流氓软件劫持)3.你的网络硬件有问题(包括路由器、网卡、网线等,如硬件故障,有磁干扰等等)4.你的网络提供商的问题(包括你选择的非电信网络如联通网通等,他们的带宽有限,一般告诉你你是2M实际有时候下载才几十K,网络忙时特别不稳定,只有深更半夜才稳定点)5.天气原因,包括打雷闪电等6.系统设置问题,部分操作系统对网络连接数有设限(例如XP默认连接数是10)还有硬件驱动不对等7.防火墙杀毒软件设置不当导致(有可能限制某些端口,有可能访问规则设置过多等)8.计算机配置过低,而软件启动太多,导致系统资源严重不足其他原因:1.你要访问的网站服务器或登陆的游戏服务器有问题2.你要访问的网站服务器或登陆的游戏服务器所采用的网络不行(请参考上面的第4条)3.你要访问的网站服务器或登陆的游戏服务器人流量太大,导致服务器不堪重负,效率降低等4.你要访问的网站程序设计有问题,还有游戏服务器程序设计有问题,导致BUG太多,影响到了你正常浏览或玩游戏,让你感觉是以为网速慢5.你登陆的服务器是网通的,而你是电信网络,互相访问时是有速度上的差别,这个在玩游戏时相当明显,在你电信网络访问网通服务器时,痛苦,很慢

网站为什么要安装SSL证书?

现在网站搭建的数量较多,给网站部署SSL证书会有如下几点好处:

1、提升企业网站排名目前Google、网络等主流搜索引擎表示会优先收录以HTTPS开头的网站,并赋予网站高权重,有效提高网站关键词的排名。 网站安装SSL证书便可以实现网站从HTTP升级到HTTPS。 2、网站隐私信息加密对网站传输的数据进行加密,包括网站用户的账户密码、身份证等隐私信息,防止被黑客监听、窃取和篡改。 目前大部分网站都会涉及到用户的隐私数据传输,安装SSL证书很有必要。 3、浏览器受信任如果没有安装SSL证书,用户通过谷歌、火狐等浏览器访问企业网站时会提示不安全,这必然会影响到用户的访问体验,而在安信证书上选择好并安装由受信任的证书颁发机构签发的SSL证书,会成为谷歌、火狐等主流浏览器受信任站点。 4、防止流量劫持普通的http网站非常容易遭受网络攻击,尤其是流量劫持,会强制用户访客其他网站,从而造成网站流量损失。 而安装受信任的SSL证书,你的网站就能有效避免流量劫持。 5、提升企业形象安装高级的SSL证书不仅会出现绿色小锁及“https”,还会显示出企业名称,这会大大增加用户的信任,同时提升企业的形象和可信度。

上网网速慢怎么办

网速慢一般由以下原因造成的1.你的操作系统出现问题(包括丢失文件 中了病毒木马还有磁盘碎片太多等等)2.你的浏览器出现问题(包括丢失文件和被流氓软件劫持)3.你的网络硬件有问题(包括路由器、网卡、网线等,如硬件故障,有磁干扰等等)4.你的网络提供商的问题(包括你选择的非电信网络如联通网通等,他们的带宽有限,一般告诉你你是2M实际有时候下载才几十K,网络忙时特别不稳定,只有深更半夜才稳定点)5.天气原因,包括打雷闪电等6.系统设置问题,部分操作系统对网络连接数有设限(例如XP默认连接数是10)还有硬件驱动不对等7.防火墙杀毒软件设置不当导致(有可能限制某些端口,有可能访问规则设置过多等)8.计算机配置过低,而软件启动太多,导致系统资源严重不足★版权申明:本答案为小资男人原创,任何人不得盗用!★其他原因:1.你要访问的网站服务器或登陆的游戏服务器有问题2.你要访问的网站服务器或登陆的游戏服务器所采用的网络不行(请参考上面的第4条)3.你要访问的网站服务器或登陆的游戏服务器人流量太大,导致服务器不堪重负,效率降低等4.你要访问的网站程序设计有问题,还有游戏服务器程序设计有问题,导致BUG太多,影响到了你正常浏览或玩游戏,让你感觉是以为网速慢5.你登陆的服务器是网通的,而你是电信网络,互相访问时是有速度上的差别,这个在玩游戏时相当明显,在你电信网络访问网通服务器时,痛苦,很慢我想你先不要管是不是电信的问题,最算是你也解决不了吧.一、可以先查一下是不是自己机子的问题.先查一下开机启动项是否有很多不必要的开机进程.(推荐用:优化大师,超级兔子,360安全卫士.)只需留下这一个启动项就可以了。 如果装有杀毒软件也可以留下来,把多出来的都优化掉。 二、查看是否是机子中毒的问题。 可装一个杀毒软软,推荐用(卡巴)。 升级到最新后在安全模式下全面杀毒一次。 实在不行最把重要数据备份好重装系统吧。 三、查看是否装的杀毒软件实时防护占用内存太多。 可把杀毒软件先卸了看下网速是否有提高。 或换一个占用内存小一点的防毒软件,(推荐使用NOD32,占用内存小,全面防毒)。 知识有限,不知是否对你有帮助。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐