博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给Iteye的安全建议(关于用户登陆风险)
阅读量:4155 次
发布时间:2019-05-26

本文共 888 字,大约阅读时间需要 2 分钟。

在讨论这个问题之前,我先假设一个场景,我相信这个场景也适用于正在看该文章的老兄。现在IT公司里从事Java研发的开发者居多,我相信大部分人都会有iteye的账号,我们假设在同一个公司里有这们两个人A和B,A和B因为某种原因积怨很深,A一直想找机会整下B出下恶气,A偶然发现B有写博客的习惯,A决定把B写的所有博客都删掉,让他多年的技术沉淀打水漂。A想到了用ARP欺骗+嗅探数据包的方式窃取B的登陆用户名和密码。

ARP欺骗原理:

主机在两种情况下会保存、更新本机的ARP缓存表,

1. 接收到“ARP广播-请求”包时
2. 接收到“ARP非广播-回复”包时

从中我们可以看出,ARP协议是没有身份验证机制的,局域网内任何主机都可以随意伪造ARP数据包,ARP协议设计天生就存在严重缺陷。

假设局域网内有以下三台主机(其中GW指网关),主机名、IP地址、MAC地址分别如下:

主机名 IP地址 MAC地址
GW 192.168.0.1 01-01-01-01-01-01
PC02 192.168.0.2 02-02-02-02-02-02
PC03 192.168.0.3 03-03-03-03-03-03

在正常情况下,主机PC02与GW之间的数据流向,以及它们各自的ARP缓存表如下图所示:

A用计算机PC03首先向B的计算机PC02发送了一个ARP数据包,作用相当于 告诉PC02:“嘿,我是192.168.0.1,我的MAC地址是03-03-03-03-03-03”,接着他也向网关发送了一个ARP数据包,作用 相当于告诉网关:“嘿,我是192.168.0.2,我的MAC地址是03-03-03-03-03-03”。于是,主机PC02与GW之间的数据流向, 以及它们各自的ARP缓存表就变成如下图所示:

 

ARP欺骗之后,B与网关通信的数据都会经过A的计算机,即A已经掌控了它们之间的数据通讯。A在捕获了一段时间的数据包开始分析数据包,找到了B登陆Iteye用户名和密码,如图

 

 

解决方案:

  1. 将密码在发送到服务端之前进行加密,如MD5
  2. 用Https协议传输用户名和密码。

 

转载地址:http://vjkxi.baihongyu.com/

你可能感兴趣的文章
LCD 驱动过程详解
查看>>
MTK camera image sensor driver
查看>>
Mtk Ft6306 touch 驱动
查看>>
Mtk 下的图形渲染配置文件egl.cfg
查看>>
ARM Linux 3.x的设备树(Device Tree)
查看>>
repo使用
查看>>
Vue兼容IE11 很直接很实用
查看>>
Vue+3D云字符
查看>>
AES 解密报错:Given final block not properly padded. Such issues can arise if a bad key is used dur
查看>>
Vue+Springboot IE11浏览器GET请求传中文参数时,参数乱码
查看>>
Vue-cli4.0 安装教程
查看>>
Vue+复制文本到粘贴板
查看>>
SRAM、SDRAM、FLASH三者的区别
查看>>
arm-linux-gcc/ld/objcopy/objdump参数总结
查看>>
关于jtag接口
查看>>
教你分清楚SPI、I2C、UART、I2S、GPIO、SDIO、CAN!
查看>>
visualgdb 添加预编译宏
查看>>
做嵌入式开发你不得不知的16个要点
查看>>
#if 用法
查看>>
(嵌入式)关于arm中的存储控制器
查看>>