我的平台,我做主-与网络劫持的斗智斗勇

摘要:什么是流量劫持?大致可以分为两种,DNS劫持,以及链路劫持。劫持原因也比较多,DNS篡改,网页篡改,路由篡改等等这里就不多说了。用户电脑中毒、路由被攻破这种个人原因比较少数,真正的幕后大佬其实是我们的运Y商,呵呵,其实已经不是什么秘密,大家心照就好。下面分享一下po主针对网络劫持做过的一些事情,欢迎大家一起交流讨论。

劫持的方式:

从技术层面可以分为两种:

1、DNS劫持

当用户向local DNS去请求某个域名的真实ip时,运营商的local DNS服务器回复了一个假网站或内容缓存服务器的ip,最终导致用户访问出现异常。

2、链路劫持

运营商(也可能是黑客)在用户访问网站的时候进行窃听,获取用户访问的目的ip后,然后以这个ip为source-ip冒充网站给用户响应,通常响应中会篡改真实返回的数据。

从表现层面可以分为三种:
1、 DNS劫持:又叫DNS重定向攻击,将用户到想到非预期网站的行为。2、url劫持:
2.1、302跳转劫持,将用户url重定向到非目标网站。
2.2、修改url参数,比如在url里添加流量渠道标识或者页面参数。
3、网页内容篡改:
3.1、直接在网页中插入js。
3.2、在网页中嵌入iframe。

下面来看一组po主负责的平台一周劫持数据:

ps:此处详细数据图略(能检测到,一周总数超过15w次)。
被劫持省份主要分布在:42%重庆,20%湖北,14%浙江
劫持类型:97%弹窗小广告,3%直接跳转
发生劫持的网络运Y商:55% L通,41% D信,3% Y动,2%其他

解决方案

这里列出靠谱和不靠谱两类,并非不靠谱就不行,考虑到场景,实现成本,和最终效果来说靠谱类的相对好操作些,起码靠谱类第一点和第二点是po主验证过,第三点po未验证,这里列出来是为了提供一个思路。

靠谱的解决方案:

1、通过法务,商务对受益方进行沟通,要求受益方下掉侵权广告。
2、使用https,防止链路劫持。
3、绕过运营商DNS,使用公共DNS。

不靠谱的解决方案:

1、到工信部进行投诉。
2、抛弃域名访问,直接使用ip。

使用https

https的优点太多了,什么保密性、完整性、可用性,具体部署和细节这里就不展开说。https大概原理是运行在SSL/TLS之上的HTTP协议,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密。https报文中的任何东西都被加密,包括所有报头和荷载。一个攻击者所能知道的只是两者之前有一个连接而已,从而达到防止链路劫持的目的。
但是https并不是万能下面列出来https能防御哪些,不能防御哪些:

Paste_Image.png

被动监控型方案

上面的解决方案中提到通过法务,商务沟通的途径直接与受益方进行沟通,那么就需要提供准确的数据,和证据支持。技术需要建立一套收集网络劫持数据的系统,为法务,商务提供数据支持。
系统分为两部分:
第一部分 主要收集页面中的小广告连接,前端页面收集非正常url,并上报分析;
第二部分 通过客户端收集302跳转类型的劫持数据,上报并分析;

技术方案:

第一部分收集广告连接:
核心原理:是通过遍历 dom 元素,并收集 dom 中的 iframe,form,link,script 标签的 链接地址匹配是否是白名单的域名。并预设好一些收集到的插件,如果 非白名单域名,并且非插件域名,则上报劫持数据到数据中心。


Paste_Image.png

第二部分收集302跳转:
核心原理 : 在 浏 览 器 WN_BEFORENAVIGATE 事 件 (打 开 一 个 URL 地 址 之前 ) 及 WN_NEWWINDOW(准备开启新窗口时)中侦听即将跳转或打开的URL域名是否官方 域名,是否为(插件、统计)白名单域名,否则上报劫持数据。


Paste_Image.png
业务报表:

业务报表可根据实际需要进行分析和添加,具体需求情况而定,可以精确到IP,受益方,被劫持域名,劫持域名等,下面列出几个示例,以供参考。

Paste_Image.png
Paste_Image.png
Paste_Image.png

最后总结一下,针对劫持是一个长期的工作,需要不断的跟进,完善报表,与劫持者斗智斗勇的过程。没有市场就没有买卖,说到底就是一个字---钱。

前端·哈达
好好学习,天天向上

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 网络基础TCP/IP HTTP基于TCP/IP协议族,HTTP属于它内部的一个子集。 把互联网相关联的协议集...
    yozosann阅读 3,561评论 0 20
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,303评论 19 139
  • 每次翻开《小王子》,都会想起一个特别的朋友,代代熊。想起他的痛苦和偏执,想起他日日夜夜的努力,想起他对我说:不要做...
    8a4ac7d17bb7阅读 645评论 0 0
  • 1. 建表时加上唯一性约束 CREATE TABLE `t_user` ( `Id` int(11) NOT NU...
    小蜗牛Snail丶阅读 466评论 0 0
  • 事情是这样的,因为做半永久,所以每次我给顾客做完眉眼唇以后,会顺便在朋友圈里发发自己的作品,让别人知道我的水平是怎...
    亦如是阅读 1,013评论 0 0

友情链接更多精彩内容