中间人攻击

中间人攻击(Man-in-the-middle attack,缩写:MITM)在密码学和计算机安全领域中是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。

假设都某(Beauty)希望与吴某(Toothpick)通信。同时,刘某(Cheater)希望拦截窃会话以进行窃听并可能在某些时候传送给吴某一个虚假的消息。

整个过程如下:

1.都某在网络平台发布网络炒作信息,被刘某发现。(服务器向客户端发送公钥,中间人截获公钥)

2.刘某虚构身份,骗取都某的信任,微信上都某联系,获取都某与吴某部分交往情况信息。(中间人伪造身份,骗取服务端的私钥)

3.刘某利用获取的信息冒用都某名义与吴某律师联系,索要赔偿(中间人冒充服务端与客户端通信,并骗取客户端公钥与私钥)

4.刘某自称系吴某律师,与都某协商达成300万元的和解赔偿,但双方未签署和解协议。(中间人冒充客户端端与服务端通信)

5.刘某继续冒充都某,向吴某律师索要250万元未遂。(中间人冒充服务端与客户端通信)

6.刘某冒充吴某律师要求都某签署和解协议,否则索回50万元。(中间人冒充客户端端与服务端通信)

7.都某同意退款后,刘某冒充吴某律师将本人的支付宝账号提供给都某,都某陆续向该账号转账18万元。(中间人冒充客户端与服务端通信)

主要过程就是中间人通过拦截正常的网络通信数据,并进行数据篡改,而通信的双方却毫不知情。

中间人攻击的分类

中间人攻击是一种比较常见的攻击手段,根据攻击的方式不同,可以分成以下几种:

Wi-Fi欺骗:攻击者可以创建与本地免费Wi-Fi同名的虚假Wi-Fi接入点(AP)。

例如,在上例的咖啡馆中,攻击者会模仿创建一个和墙上贴着Wi-Fi信息同名“Guest Wi-Fi”。一旦您连接上去,您的一切在线网络行为,将尽在攻击者的监控和掌握之中。

HTTPS欺骗:攻击者通过欺骗您的浏览器,使您认为自己访问的是可信任站点。

当您输入与该站点相关的登录凭据时,您的流量将被重定向到攻击者自建的非安全站点处。

SSL劫持:通常,当您尝试连接或访问不安全的HTTP://站点时,您的浏览器会自己将您重定向到安全的HTTPS://处。

此时,攻击者则可以劫持该重定向的过程,将指向其自建服务器的链接植入其中,进而窃取您的敏感数据、以及输入的所有信任凭据。

DNS欺骗:为了准确地浏览到目标网站,域名系统会将地址栏中的URL,从人类易于识别的文本格式,转换为计算机易于识别的IP地址。

然而,DNS欺骗则会迫使您的浏览器,在攻击者的控制下,发生转换异常,而去访问那些被伪造的地址。

电子邮件劫持:如果攻击者获得了受信任机构(例如银行)的邮箱、甚至是邮件服务器的访问权限,那么他们就能够拦截包含敏感信息的客户电子邮件,甚至以该机构的身份发送各种电子邮件。

中间人攻击的工具

  • dsniff - 一个实现SSH和SSL中间人攻击的工具

  • Cain and Abel - Windows图形界面的工具,它可以执行中间人攻击,嗅探和ARP投毒

  • Ettercap - 一个基于局域网的中间人攻击工具

  • Karma - 一个使用802.11 Evil Twin以执行MITM攻击的工具

  • AirJack -一个演示802.11 MITM攻击的工具

  • SSLStrip一个基于SSL的MITM攻击的工具。

  • SSLSniff一个基于SSL的MITM攻击的工具。原本是利用一个在Internet Explorer上缺陷实现的。

  • csploit -一个在android系统上实现的MITM攻击工具包。

  • Mallory - 一个透明的TCP和UDP MiTMing代理。扩展到MITM SSL,SSH和许多其他协议。

  • wsniff - 一个802.11HTTP / HTTPS的基于MITM攻击的工具

  • 安装在自动取款机银行卡插槽上的附加读卡器和安装在键盘上的附加密码记录器。

  • zanti-一款在android系统上的多功能网络渗透包。

如何防范中间人攻击

不要使用公共Wi-Fi:如果可以的话,尽量不要使用公共Wi-Fi。

同时,在使用公共Wi-Fi连接时,请留意浏览器的安全警告。如果警告的数量突然猛增,那么很可能就表明某个漏洞遭到了中间人攻击。

使用HTTPS:尽量访问那些使用着HTTPS的网站,因为HTTPS对于网络攻击做了很多防护。

不要忽略警告:如果您的浏览器提示,您正在访问的网站存在着安全问题,那么就请引起足够的重视。

毕竟安全证书警告可以帮您直观地判定,您的登录凭据是否会被攻击者截获。

运行并更新防病毒软件:请确保安装防病毒软件并且及时更新至最新状态

关于作者漫话编程,是一个通过漫画+音频的形式讲解枯燥的编程知识的公众号。致力于让编程变得更有乐趣。

推荐阅读:

  • 漫话:如何给女朋友解释为什么Java线程没有Running状态?

  • 漫话:如何给女朋友解释为什么不能在MySQL中使用UTF-8编码

  • 漫话:如何给女朋友解释为什么Java 中"1000==1000"为false,而"100==100"为true?

  • 漫话:如何给女朋友解释为什么Java里面的String对象是不可变的?

喜欢我可以给我设为星标哦

好文章,我“在看”

漫话:如何给女朋友解释为什么吴某凡会被中间人攻击?相关推荐

  1. 漫话:如何给女朋友解释什么是3PC?

    一顿愉快的小火锅之后,悠哉悠哉的回家了,于是只能开始新一轮的家庭科普了. 分布式一致性 幸好在<漫话:如何给女朋友解释什么是2PC(二阶段提交)?>中介绍过关于2PC的知识,要不然这事儿可 ...

  2. 漫话:如何给女朋友解释什么是适配器模式?

    本文经授权转载自微信公众号:漫话编程 周末窝在家里面打王者荣耀,女朋友在旁边玩我的电脑,我嫌她播放的综艺节目声音比较大,于是建议她戴耳机. 适配器模式 Adapter Pattern,通常被翻译成适配 ...

  3. 漫话:如何给女朋友解释什么是BIO、NIO和AIO?

    本文经授权转载自微信公众号:漫话编程 周末午后,在家里面进行电话面试,我问了面试者几个关于IO的问题,其中包括什么是BIO.NIO和AIO?三者有什么区别?具体如何使用等问题,但是面试者回答的并不是很 ...

  4. java 日期加一天_漫话:如何给女朋友解释为什么一到年底,部分网站就会出现日期混乱的现象?...

    2019年最后一天,在家里看着跨年晚会,享受着这一年最后一天的闲暇时光,女朋友在旁边玩手机.看了一会之后她突然问我一些很奇怪的问题. 于是我拿过他的手机,看到了下面这一幕: 这是微信官方出的公众号管理 ...

  5. 漫话:如何给女朋友解释什么是 3PC?

    作者 | 漫话编程 本文经授权转载自漫话编程(ID:mhcoding) 责编 | 胡巍巍 一顿愉快的小火锅之后,悠哉悠哉的回家了,于是只能开始新一轮的家庭科普了. 分布式一致性 幸好在<漫话:如 ...

  6. 漫话:如何给女朋友解释什么是语法糖?

    语法糖 语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家Peter J. Landin发明的一个技术术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响, ...

  7. 漫话:如何给女朋友解释什么是Mock?

    某天晚上,接到测试的电话,他问为什么在日常环境我的接口使用不同的用户测试返回的内容都一样,我回答他:接口数据被我mock掉了,现在返回的都是mock数据.需要调一下mock的逻辑才行. 挂断电话之后, ...

  8. 漫话:如何给女朋友解释什么是大案牍术?

    听说最近<长安十二时辰>比较火,于是趁着一个周末赶紧补一补剧.相信很多人都对其中的"大案牍术"比较感兴趣,靖安司说"大案牍术"选中了张小敬. 看到这 ...

  9. 漫话:如何给女朋友解释什么是熔断?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 最近比较忙,白天上班,晚上还得面试,都没有时间关注新闻.某天晚上刚 ...

最新文章

  1. Security+认证备考经验分享(501版本)
  2. Python基础教程:属性值设置和判断变量是否存在
  3. OpenCASCADE绘制测试线束:性能评估命令之VDrawSphere
  4. 关于Unable to execute dex: Java heap space 解决办法
  5. git忽略文件【转】
  6. 诗与远方:无题(六十三)- 杂诗,然,矣
  7. Windows 下使用GNU开发环境[转]
  8. 共享的网络如何让自己比别人快_OPPO K3如何共享网络?
  9. Byte[]、Image、Bitmap 之间的相互转换
  10. 一个帮助你处理延迟,重复,循环操作的jQuery插件 - timing
  11. 机器学习:使用matlab的fminunc+正则化实现二元逻辑回归
  12. ccd后视摄像头_20192020年车载摄像头产业报告
  13. euht网络登录_基于EUHT技术的城轨高速线路车地无线网络解决方案
  14. 谷歌卫星地图上的奇特景象
  15. Trivial、Non-Trivial和POD类型
  16. html使用JQ调用移动端端相册功能的实现
  17. vivo社招面试流程,坐标南京
  18. Flutter 解决软键盘弹出背景图片变形
  19. OpenAI发布ChatGPT!手把手debug代码!
  20. 服务器没有响应客户端,socket编程某些服务器对某些客户端没有响应的问题!!...

热门文章

  1. 简述html文档基本结构,html概述及html文档基本结构
  2. 学python先学什么基础_python学完基础学什么
  3. 零基础准备美赛的全过程
  4. 简述物联网感知技术_《物联网技术》复习题
  5. php 生成 pdf dompdf 库使用
  6. WindowsAPI函数大全
  7. html5公司年终抽奖程序源码按数字随机抽奖
  8. winform零基础学习(二)—TextBox控件+Lable控件
  9. 阿卡姆大酒店:牛油果蛋糕
  10. P1010 幂次方 (递归+分治)