前言
  所谓的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.测试言轻:

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

问责:为什么会漏测?

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

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

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

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

浅谈MITM攻击之信息窃取(解密315晚会报道的免费WIFI窃取个人信息)的更多相关文章

  1. 浅谈Ddos攻击攻击与防御

    EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...

  2. 浅谈 DDoS 攻击与防御

    浅谈 DDoS 攻击与防御 原创: iMike 运维之美  什么是 DDoS DDoS 是英文 Distributed Denial of Service 的缩写,中文译作分布式拒绝服务.那什么又是拒 ...

  3. 转载-浅谈Ddos攻击攻击与防御

    EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...

  4. 浅谈XSS攻击原理与解决方法

    概述 XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器 执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人 ...

  5. 咱妈说别乱点链接之浅谈CSRF攻击

    平时经常听到人们说别乱点链接,小心有病毒.还有长辈们转发的“天呐~XXX的阴谋,全是病毒”.“XXX惊天大病毒,点了苹果手机就要爆炸!”.“现在转发热门连接会乱扣费!千万别点!”. 到底长辈们说的这些 ...

  6. [转]浅谈CSRF攻击方式

    在CSDN中看到对CSRF攻击的原理及防护文章,讲解浅显易懂,特转之: 来源:http://blog.csdn.net/fationyyk/article/details/50833620 一.CSR ...

  7. 浅谈CSRF攻击方式

    一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...

  8. 浅谈xss攻击

    近期学习过程中提到xss攻击的问题,便想要了解一下,总结如下: XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, ...

  9. 浅谈CSRF攻击方式(转)

    add by zhj: 在看Django开发的应用时,看到了CSRF,然后搜到了这篇文章,讲的不错.其实CSRF 攻击也蛮简单的.当你登陆网站A后,会在本地存有cookie,在cookie没有过期的情 ...

随机推荐

  1. 初探SQL注入

    1.1注入语句(通过时间注入函数) 数据库名称 localhost:8080/ScriptTest/userServlet?username='union SELECT IF(SUBSTRING(cu ...

  2. matlab 采样函数

    dyaddown 功能:对时间序列进行二元采样,每隔一个元素提取一个元素,得到一个降采样时间序列. 格式: 1.y = dyaddown(x, EVENODD) 当EVENODD=0时,从x中第二个元 ...

  3. Response.StatusCode的HTTP状态代码列表

    1xx - 信息提示这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应. · 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分.( ...

  4. .Net 跨平台可移植类库正在进行

    [原文发表地址] Cross-Platform Portable Class Libraries with .NET are Happening [译文发表地址] .Net 跨平台可移植类库正在进行 ...

  5. SQL Server : Browser服务

    SQL Server : Browser服务是SQL Server 2005新增的,简单的说,如果一个物理服务器上面有多个SQL Server实例,那么为了确保客户端能访问到正确的实例,所以SQL S ...

  6. 【Java并发编程实战】-----“J.U.C”:Condition

    在看Condition之前,我们先来看下面这个例子: 工厂类,用来存放.取出商品: public class Depot { private int depotSize; //仓库大小 private ...

  7. SQL Server 的 Statistics 簡介

    當你要清空「資料表(table)」,或倒入大量「資料(data;record)」,或公司「資料庫(database)」改用新版本要資料大搬家…等情形,不只是要重建「索引(index)」,還應要重建或更 ...

  8. 《Entity Framework 6 Recipes》中文翻译系列 (42) ------ 第八章 POCO之使用POCO

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第八章 POCO 对象不应该知道如何保存它们,加载它们或者过滤它们.这是软件开发中熟 ...

  9. Java 浅析三大特性之一封装

    在说Java 三个特性之前,我们先了解一下什么是面向对象,以及为什么Java是面向对象的语言. 面向对象是区别于面向过程的一种编程的思想.我们可以通过这个例子冰箱装大象的例子来了解一下面向对象与面向过 ...

  10. Android-找到包下面所有的类

    Android 利用反射找到包下面所有的类 Android下其实有一个DexFile的东西,利用它我们可以很好的找到包下面所有的类 什么是DexFile? 官方的说明是这样的: Manipulates ...