【.com专栏稿件】回顾近几年国内发生的各类恶意劫持事件中,莫过于通信运营商的流量劫持,该行为严重干扰到了个人和企业用户的正常使用和运营。鉴于互联网上已经有大量关于此类攻击的案例分析和阐述,为了更加有效的防御此类攻击,本文将换一个角度思考和分析,以劫持攻击者的立场,通过具体的劫持实验来简述过程。
目前国内做运营商劫持的主要模式,即通过旁路分光设备镜像流量,并监听用户HTTP GET上行请求,篡改正常返回的信息,从而实现隐蔽的劫持互联网网站信息。因劫持手法种类多样,限于篇幅,本文将只采用其中一种劫持第三方js代码的方式来进行阐述。
一、劫持演示准备
1、获取互联网用户发往80端口的网络数据包,无需回传的数据包。
2、演示用户的浏览器使用基数和安全程度较高的Chrome。经过笔者测试,该演示方案对于Windows系统 +其他浏览器的组合,以及移动端iPhone和Android平台上的默认浏览器均有效。
3、注册开通某商网站联盟账号,系统会从后台分配到一个可跳转的url,该url会给用户设置 cookie,同时用做系统后期统计计费分成。
例如申请到的url如下:
红色字体为不同的加盟账户被分配的不同编号,若该参数被恶意篡改,该用户推广获得的收入分成将转移。
用curl命令请求该链接,将获得如下图中返回包的截图。其中红色部分标明了该返回包进行了Set-Cookie计费和跳转操作。
二、劫持过程简述
1、 当用户访问www.XXX.com,同时劫持者旁路侦听到该用户浏览器请求了某第三方js代码。(本文将拿google Analytics的统计代码ga.js 来举例,完整链接:www.google-analytics.com/ga.js),Referer 目标站www.XXX.com。
2、 先于www.XXX.com的 服务器 返回构造过的TCP包给用户,同时将篡改过的ga.js代码返回。
篡改过的ga.js代码,详见下面截图:
3、劫持完成后用户浏览器的访问不会有明显的异常感知,打开chrome的开发者工具查看访问情况,如下截图:
在用户的主机上打开wireshark 做抓包分析,可以看到被我方强制植入的统计Cookie已经成功,效果如下截图:
三、该类js劫持的特点
1、 该类js代码是由第三方发布和更新,正常情况下不会有人对其返回进行校验。即便用户频繁重复请求或者请求失败,被劫持方不会被主动告知。
2、 操作隐蔽且灵活,通过多种方式只需发送1k以下的数据包篡改js代码,即可完成劫持,无需额外的服务器再做跳转。
3、 该类js代码在国内中小型web站点甚至大型网站具有较高的使用率,比如本文中提到的ga.js通常用作网站流量统计实现。

四、排查和防御方式
1、 目前最流行的运营商劫持方式,即直接在用户访问www.XXX.com的时候对其访问劫持,并直接302重定向跳转到预先设定好的url链接上,此类方式较易被发现,目前国内大多数web站点均开启了https加密策略,可以部分有效的防御此种劫持攻击。
2、 对用户浏览器侧的js代码进行校验,并对CDN节点上的缓存内容做定时轮训匹配对比,判断是否被篡改。监控用户真实得到的web源代码,观察是否被非法注入或者强制跳转等等。
3、 因该类劫持攻击需要在真实服务器返回的TCP包到达前,就将伪造包发到用户浏览器,否则将失去效果。因此排查此类攻击方式应遵从,优先从用户侧排查,也可采用判断TTL不同返回值来做劫持层定位。
4、 通信运营商应该加强自身内部人员和设备管理,并在节点配置部署URPF策略,将伪造IP头的包全部丢弃。比如,排查在关键回写植入点的路由器上的ACL规则,拒绝放行特殊格式或者特征的回写包。
网页是传到服务器还是数据库?
数据库就在服务器上,从某种程度上讲,是一个意思,服务器除数据库外,还有WEB空间,楼主概念搞混了。 建议您先免费试用,如不满意无需付款。 会打字就会建网站,操作简单。 有免费的网站制作学习视频和操作演示。 210元建站方案,可先免费试用15天。 包括:国际顶级域名(60元/年)、速成网站普及型(500M,150元/年)、正规备案服务等。 具有基本网站功能:商品展示&发布管理、酷炫图文工具、文章管理、留言本、流量统计、网站SEO等。 460元建站方案,可先免费试用15天。 包括:国际顶级域名(60元/年)、速成网站全能型(空间2G,400元/年)、正规备案服务等。 功能:网上商城、文章管理、会员注册及管理、论坛管理、在线购物与支付、留言本、流量统计、网站SEO推广、支持WAP手机网站等。 可咨询今日创业在线客服,他会一步一步教您操作。 今日创业已为多家用户提供了近6年优秀服务,更安全,更稳定。 联系方式请见我们团队公告。
多媒体怎么解释?
其实多媒体没那么深奥,她就是图像好声音的一种有机结合,由Multimedia翻译而来,而Multimedia又由mutiple和media复合而成。所以媒体(medium)包含两层含义!
play 和play the 有什么区别
只有一点就是用法不同。 1、play后接表示球类或牌等名词时,其前不加冠词the.2、而接乐器时则必须加冠词the,在美式英语中the有时也可以省略。 当play用于一般现在时时,宾语前不加冠词,表示经常或定期进行某项娱乐或活动。 play的英式读法是[pleɪ];美式读法是[pleɪ]。 作动词意思有玩;比赛;(在运动队中)担当;派...出场;带;踢;击(球);走(棋子);出牌;演奏;播放;扮演;假装;上演;发挥(作用);应付;处理;掠过;浮现;使轻快地活动;(喷泉)喷涌;做游戏。 作名词意思有游戏;戏剧;比赛;发挥作用;玩笑;间隙;闪烁;闪现。 play的用法:play的基本意思是指为了消遣和娱乐而进行身体的或精神的活动,即“玩,玩耍”,也可指与某人进行一场比赛,即“参加比赛”。 play还可指“演奏乐器”。 引申可指“开某人的玩笑”“扮演”“播放”“(泉水等)喷出”等意思。 play可用作及物动词,也可用作不及物动词。 用作及物动词时接表示球或乐器等名词、代词或that从句作宾语。 有时还可接双宾语,其间接宾语可转化成介词to或FOR的宾语,还可接由“(as+) n./adj. ”充当补足语的复合宾语。 可用于被动结构。 play还可用作系动词,后接形容词或名词作表语。
发表评论