前言
  所谓的MITM攻击(即中间人攻击),简而言之就是第三者通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方毫无感知。这个很早就成为黑客常用的手段,一会聊的315晚会窃取个人信息只是MITM最基础入门的一种攻击方式。大牛绕道,此篇小白普及篇。

 

 

目录

一、事件回顾

二、什么是MITM攻击

三、MITM攻击-信息窃取实战

四、软件测试的反思

 

原创,如转载还请保留出处与作者姓名Findyou,谢谢! 

 

一、事件回顾

2016年315晚会,现场提供了一个免费WIFI,给现场观众连接。当观众玩手机APP一定时间后(有进行数据请求),315技术人员收集了观众包括姓名、电话号码、家庭住址、身份证号码、银行卡号等,观众惊恐,电视机前观众后背凉~~~  

2016年315晚会观看地址: http://315.cntv.cn/special/2016/video/index.shtml

 

温馨提示

信息泄漏都是一些消费类的APP(OTO什么的),但是为什么不是从银行类APP泄漏?请看下文~~~

 

二、什么是MITM攻击

维基百科:中间人攻击 https://en.wikipedia.org/wiki/Man-in-the-middle_attack

百度百科:中间人攻击 http://baike.baidu.com/view/1531871.htm


所谓的MITM攻击(Man-in-the-Middle Attack, 简称MITM攻击,中文一般叫中间人攻击),简而言之就是第三者通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方毫无感知。

MITM攻击方式有信息篡改、信息窃取,攻击技术有DNS欺骗、会话劫持、代理服务器等。

本文主要介绍的是信息窃取,维基百科的讲解决演绎实例比较适合有HTTPS什么SSL知识基础的人。此处我找了一张图,不涉汲公钥、私钥对小白折磨的基础知识。

请看图就懂:

 

 

三、MITM攻击-信息窃取实战

MITM好高深,小白不懂耶~~~,不懂没关系,根据下面步骤你就会了。咳、咳~~~~,有没有听过局域网抓包,没有那也没关系。今天不讲这个,哈哈。

信息窃取简单白话说就是:用个工具把通过WIFI(路由器)的数据都记录下来。

3.1 信息窃取的前提

当然信息不是随随便便就可以获得的,需要满足一定前提,才得获取到信息:

  • 连接黑客的WIFI

        不连有危险的WIFI,你就堵住了由此泄露信息的途径。三个条件中有且只有这一点,是用户你自己可以控制,不过也控制不了,4G资费贵哈,有免费WIFI怎能不蹭呢?哪个WIFI是安全,哪个是不安全的WIFI,黑客知,你不知~~~,如果你用的房东的,或者从别人那拉的网线,房东随便装个上网行为管理软件什么的,你做啥看啥都知道了,装个抓包软件,密码什么的随便看。哦,你说你公司也装了行为管理软件,没事你现在看的学习站点,领导不会找你谈话的。

  • APP须有网络数据请求

        但风是个APP,不管消费不消费类的都要连下互联网,什么上网订餐、网购、团购等等...都会上报这样那样的信息,返回这样那样的数据。但此处的网络数据请求特指的是传输包含用户信息的请求,例如购买订单、历史帐单、个人设置(地址、手机)等数据请求

  • APP请求是HTTP未加密的传输

        APP基本就是HTTP(或Socket)未加密的传输,除了银行APP用HTTPS+SSL加密传输外(此处也回应此文开头的那个问题),基本上APP都很少会使用HTTPS,基本不对请求数据与返回数据进行加密最多只是对帐号密码传输加密(有些APP也是明文传),因手机电量什么性能的关系,大都会减少请求与处理简化,基本就是Json格式,内容明文,抓个包想看就看的,截获想改就改(篡改不是本文重点,不深入),HTTPS的也是可以的,但用户可能会察觉,也存在一定难度,但此处不深入剖析。。

  

3.2 安全实战

借鉴315晚会,给出一种最简单的实战思路(学习交流,请勿违法),让你了解数据如何不知不觉得被人收集的。

  • 准备 

1).笔记本一台

2).随身WIFI一个(不要360,手机连上360WIFI后会有一个二逼广告页弹出,这就露馅了)

3).笔记本装个抓包工具:WireShark (网上有好多不一一列举)

 

  • 抓取数据 

1).选址:找一些比较特色免费WIFI的地方,比如

    Starbucks

    Starbucks1

    Starbucks2

2).笔记本连网,开启随身WIFI

3).随身WIFI取名,跟所在店名类似或一样规则如 Starbucks3

4).随身WIFI密码,根据情况,与所提供免费WIFI店的密码一致

5).开启WireShark,点杯喝咖啡,坐等别人连你随身WIFI,一定时间后停止抓包,分析请求数据

 

结果分析举例

 

至此,315晚会MITM攻击-信息窃取还原讲解完毕。 

 

  •  学习资料

1).热点WireShark抓包介绍: http://www.cnblogs.com/findyou/p/3491065.html

2).Fiddler代理抓包介绍:http://www.cnblogs.com/findyou/p/3491014.html

3).早前一项目密码中间人攻击的文章 http://www.cnblogs.com/findyou/p/3244917.html

 

说明

1).用户无感知型,如同315晚会现场信息窃取,315技术人员肯定对数据进行了处理,其抓包工具很有可能是有针对性编写的。

2).另一个代理FQ逛网页,代理服务器只要写个记录数据软件,任何通过代理服务器的数据想看就看,所以没事就不要用代理上网,如果你公司上网用代理,咳、咳~~~没事就好好干活,少看逛网,少看片~~~

 

  • 规避315晚会免费WIFI问题建议 

1).不连公共WIFI !不连公共WIFI !不连公共WIFI !

2).手机用4G网络进行购买、包含个人信息的查询!

3).个人信息没事别用真信息

4).给有问题APP提安全问题,天天骚扰客服!要不你就换安全一点的APP,测试方式请见文中安全实战。

 

四、软件测试的反思

现在的APP为什么没有进行安全测试?大约想到以下几点(抛砖引玉)  

1.无安全意识:

      研发架构设计就未曾考虑安全,测试负责人太水,测试人员经验不足。好多APP大都是创业公司,来个人已不容易,高薪低能(抬高了软件人员薪资也是件好事,呵呵)。大部分只考虑背景是否BAT公司,很少会去考虑创业型公司人员真正的需求:人员的专业能力、综合能力。当队伍大了时精力又花在"内耗"。测试人员经验、能力、全局观都达不到要求,最后一道防线薄弱,于是乎有这样多的APP产品。你会问,不是有很多云平台也做安全,那做的只是一部分APP防反编译,主要目的是保护APP源码,保护公司利益的,非直接的用户利益与数据的。

      题外话:其实我觉得高薪低能应该也是导致很多APP项目流产的原因,绝大数原因招了不合适的人员,现1年半工作经验会个只会APP功能测试,都开口10K、12K叫,遇到老板面试谈得来看心情给,遇到更水的测试面试,觉得都是大牛。近年流行创业,创业型公司多了去,有钱任性的烧,不死那才怪。

2.狭隘安全测试:

      还是能力与视角的问题,说安全测试焦点就在帐号、密码是否安全,是否加密传输这一块。其实安全测试范围应该很广,所有泄漏用户与自身业务数据的可能都应该进行考虑,所有伪造的数据顶替冒充真正用户的也要进行考虑。

3.项目特性导致时间不够:

      因需求多变,功能测试已费尽心力(自动化?多变的项目你搞UI自动化,滚犊子),目光聚焦在功能上,后续测试前期的思考慢慢就淡忘了,到功能稳定了,说要上线了,性能、安全都没搞,当然公司会考虑的成本问题,用户量没有,不值去做这个安全加固,先把日存活、月存活数据给弄起来先~~~

4.测试言轻:

      面试过很多测试,有要求对方对测试岗位做一个解读或他的理解,很多有意无意会带进一句测试就是背锅的天天被骂。片面的说一说这个问题,很多时候领导或项目经理会觉得测试过于夸大问题,小题大做,让我想到扁鹊和他哥哥故事,事情在没有造成损失前都不是问题,在造成损失后,测试为主要责任~~~ 

问责:为什么会漏测?

测试:这个安全问题很早就有提,当时确认说小问题不影响,客户要连不安全的网络,那是客户应该为自己的行为负责!

问责:测试报告有没有提风险?有邮件反馈给测试负责人?有没有提问题单,单号是多少?

测试:。。。。(卧槽、口头沟通、没有提单、没有邮件、没有纳入测试范围....) 

 

最后,借用一句话做为结尾:安全无小事!


 

 

posted on 2016-03-17 01:46  Findyou  阅读(7996)  评论(7编辑  收藏  举报