说说下载劫持那些事儿

标签: 体验,设计 给产品经理讲技术 | 发表时间:2015-12-13 06:30 | 作者:kent.zhu
出处:http://www.ikent.me/blog

本文转载自「给产品经理讲技术」公号,已经过原作者授权转载。

今年的双十一,想必广大千手观音们又狠狠的剁了几只手。然而,剁手换来的宝贝在漫漫快递路上也是命途多舛,轻者磕磕碰碰包装损毁,重者与快递货车一起被付之一炬。这些“不可抗力”造成的问题屡见不鲜,碰到了也只能自认倒霉。不过,有的网友看着苹果6代的订单,却啃着寄过来的6袋苹果,个中滋味大家就自行脑补吧…。其实,在安卓应用分发领域,这种“苹果6代”变“6袋苹果”的情况也屡见不鲜:

为什么会出现这种情况呢?其实一次网络下载的过程,就像一次“网购”,当我们点击下载按钮时,就跟下载服务器下了一份“订单”,“订购”了一个文件(当然大部分是免费的),服务器确认“订单”后,就会将文件在网络中“快递”(传输)到用户的终端(手机、PC等)。下载劫持一般出现在“下订单”的过程中。

举个栗子,假设我们通过微信官网的链接http://dldir1.qq.com/weixin/android/weixin637android660.apk下载微信安卓版本的客户端,整个流程大概是这个样子:

当点击了下载按钮后,客户端会通过url中的“域名”“dldir1.qq.com”来向DNS服务器获取确认“订单(下载)服务器”的IP地址,IP地址在互联网中相当于日常生活中“电话号码”,有了它,就可以连接到这台“订单(下载)服务器”,而DNS服务器就像一个存贮着大量“姓名”(域名)和“电话号码”(IP地址)的黄页。

当客户端获得了“订单(下载)服务器”的“电话号码”(ip地址)后,就会连接“订单(下载)服务器”,并告知“订单(下载)服务器”客户端需要获取服务器上的“微信安卓版”apk文件,一般情况下,服务器在这个阶段确认了“订单”后,就会向客户端“快递”(传输)对应的apk文件,当客户端将文件下载完毕后,这次“网购”也就完成了。

下面,我们引入运营商(电信、联通等)网关的概念。运营商网关可以类比成日常生活中的“总机”,接入运营商的互联网设备想要能够“上网”,都需要经过“总机”(运营商网关)的转接。也就是说,在上图中的第二步,我们并不能直接通过“订单(下载)服务器”的“电话号码”(IP地址)联系到“订单(下载)服务器”,而是需要先连接到“总机”(网关),并且告诉它,我们要向某某某服务器下“订单”,经过“总机”的转接,我们才能真正连接到“订单(下载)服务器”。整个过程如下图:

可以发现,DNS服务器和网关的决策,确定了客户端“订单”(下载请求)的走向。而“下载劫持”也就发生在这两个关键节点上。

假设客户端获取下载服务器“电话号码”的DNS服务器被篡改,那么客户端可能会通过“dldir1.qq.com”查询到一个“骗子服务器”的“电话号码”(IP地址),当我们联系到这个“骗子服务器”时,我们的“订单”(下载请求)可能会换来一些奇奇怪怪的“商品”。


当我们遇到这种情况时,可以手动修改DNS服务器IP(具体方法请问度娘)来解决。然而当运营商的“总机”(网关)“出了问题”(这些“问题”一般是运营商主动造成的)时,就没那么容易解决了。

假设当客户端拿着“订单(下载)服务器”的电话号码要求“总机”(网关)转接到我们指定的“订单(下载)服务器”时,“总机”(网关)对客户端说“哎呀,不要去A家下载微信了,你去我给你介绍的B家下载“XX助手”吧,比微信好用”(这个过程在技术上是被一个叫做302跳转的机制完成的,如果你不知道什么是302,出门左转,查询我们星期一的文章)。客户端是个实在人,就这样被“引诱”到B家的服务器上下载了。

“总机”(网关)和服务器B就这样沆瀣一气,来骗客户端的下载量。

刚刚给大家从技术层面简单介绍了下“下载劫持”的“饭醉手段”,至于为什么有人要做“下载劫持”,想必产品同学们应该比我更能知晓其中的奥妙,我就不班门弄斧了。就写到这里吧,我去洗水果了,双十一寄来的六袋苹果,再不吃就烂了….

(文中“XX助手”和服务器IP地址均属臆造,如有雷同,我也不知道是咋回事儿)

原文链接: 点击查看

相关日志

相关 [下载 劫持] 推荐:

说说下载劫持那些事儿

- - 幻风阁|kent.zhu'sBlog
本文转载自「给产品经理讲技术」公号,已经过原作者授权转载. 今年的双十一,想必广大千手观音们又狠狠的剁了几只手. 然而,剁手换来的宝贝在漫漫快递路上也是命途多舛,轻者磕磕碰碰包装损毁,重者与快递货车一起被付之一炬. 这些“不可抗力”造成的问题屡见不鲜,碰到了也只能自认倒霉. 不过,有的网友看着苹果6代的订单,却啃着寄过来的6袋苹果,个中滋味大家就自行脑补吧….

漫谈流量劫持

- - WooYun知识库
在鼠标点击的一刹那,流量在用户系统中流过层层节点,在路由的指引下奔向远程服务器. 这段路程中短兵相接的战斗往往是最激烈的,在所有流量可能路过的节点往往都埋伏着劫持者,流量劫持的手段也层出不穷,从主页配置篡改、hosts劫持、进程Hook、启动劫持、LSP注入、浏览器插件劫持、http代理过滤、内核数据包劫持、bootkit等等不断花样翻新.

美国ISP劫持Google搜索结果

- 龙 - Solidot
squarefw 写道 "The New Scientist报道,多家美国ISP劫持了用户在搜索引擎里的搜索,将搜索结果重定向以便谋取利润. 当一位用户搜索“Apple”的时候,他的ISP会将其重定向到一个支付了佣金的商户网站上,重定向的网站甚至跟搜索关键字毫无关系. 好比说有人搜索“WSJ”想看华尔街日报的网站,但结果可能会打开一个推销Amazon Kindle阅读器的网站.

Activity劫持与用户防范

- - ITeye博客
本文内容多参考于网上博文,但代码及用户防范的方法均属原创,转载请注明出处 http://msdxblog.sinaapp.com/?p=623. 1、Activity调试机制. 在android系统中,不同的程序之间的切换基本上是无缝的,它们之间的切换只不过是Activity的切换. Activity的概念相当于一个与用户交互的界面.

流量劫持是如何产生的?

- - FEX 百度 Web 前端研发部
流量劫持,这种古老的攻击沉寂了一段时间后,最近又开始闹的沸沸扬扬. 众多知名品牌的路由器相继爆出存在安全漏洞,引来国内媒体纷纷报道. 只要用户没改默认密码,打开一个网页甚至帖子,路由器配置就会被暗中修改. 攻击还是那几种攻击,报道仍是那千篇一律的砖家提醒,以至于大家都麻木了. 早已见惯运营商的各种劫持,频繁的广告弹窗,大家也无可奈何.

XSS学习笔记(一)-点击劫持

- - CSDN博客Web前端推荐文章
所谓的XSS场景就是触发的XSS的场所,多数情况下都是攻击者在网页中嵌入(发表)的恶意脚本(Cross site Scripting),这里的触发攻击总是在浏览器端,达到攻击的者的目的,一般都是获取用户的Cookie(可以还原账户登录状态),导航到恶意网址,携带木马,作为肉鸡发起CC攻击,传播XSS蠕虫等.

Cookiel劫持测试工具 – Cookie Injecting Tools

- - FreeBuf.COM
‍‍Cookie Injecting Tools 是一款简单的开源cookie利用工具,是Chrome浏览器上开发的一个扩展插件,能够灵活地进行SQL注入测试,编辑以及添加删除COOKIE,界面简洁,易于使用‍‍. 可以直接下载打包好的CRX文件,源码就包含其中,当然也可以直接下载源码运行‍‍. ‍‍‍‍ 有两种方式‍‍.

深入解析DLL劫持漏洞

- - WooYun知识库
0x00 DLL劫持漏洞介绍. 如果在进程尝试加载一个DLL时没有指定DLL的绝对路径,那么Windows会尝试去指定的目录下查找这个DLL;如果攻击者能够控制其中的某一个目录,并且放一个恶意的DLL文件到这个目录下,这个恶意的DLL便会被进程所加载,从而造成代码执行. 在Windows XP SP2之前,Windows查找DLL的目录以及对应的顺序如下:.

多家美国 ISP 劫持 Google 搜索结果

- 大连猫 - 谷奥——探寻谷歌的奥秘
The New Scientist报道说多家美国ISP劫持了用户在搜索引擎里的搜索,将搜索结果重定向以便快速谋取利润(说的真的是美国,不是景德镇). 当一位用户搜索“Apple”的时候,他的ISP会将其重定向到一个支付了佣金的商户网站上,重定向的网站甚至跟搜索关键字毫无关系. 好比说有人搜索“WSJ”想看华尔街日报的网站,但结果可能会打开一个推销Amazon Kindle阅读器的网站.

WiFi流量劫持—— 截获支付宝账号 - EtherDream

- - 博客园_EtherDream の 原创空间
  前两篇讲述了长缓存投毒的原理和实现. 用户只要在我们的wifi下随便看个网页,就能植入一堆超长潜伏期的后门脚本.   究其原因,还是因为登陆页面的安全性不够. 明文传输的网页,总是能轻而易举的注入脚本代码,因此存在风险也就不足为奇.   所以在必要的场合使用HTTPS加密传输,就能完全避免这类安全隐患.