基于ARP欺骗实现中间人攻击,破解HTTPS数据为明文
2017-02-28 11:51
537 查看
演示流程
1、手机与电脑连接至同一个局域网2、Wireshark 抓包,https乱码;
3、运行中间人攻击程序,截断数据流,获取美团登录的明文账户名、密码
ARP欺骗
ARP:地址解析协议,把ip地址解析为mac地址ARP广播阶段:目标Mac地址填FF-FF-FF-FF-FF-FF,广播自己ip、mac地址
ARP应答阶段:向那个主机发送自己的ip、mac地址
ARP缓存表
缓存ip与mac地址键值对
实现
A电脑想监听C电脑,就伪装为路由器ip,然后写上自己物理地址,封装好 ARP 包,隔几秒发送一次给 C, C接收到后,会内建一个ARP缓存表,修改路由器ip、mac地址对应关系后,然后把数据包就都发给攻击者了
如果想攻击某个设备,好像还是要先控制所有的流量,然后根据设备流量中的特征判断设备种类
我司禁用了ARP,不存在这个安全问题
HTTPS转明文(由中间人攻击实现)
如何进入一个HTTPS网站?先通过HTTP访问一个
服务器302重定向
https的超链接
也就是说,使用Https之前使用的是http
一些事实
可以监听http流量
重要的数据都是通过https传输的
用户对于服务端重定向返回的连接是否是https毫不知情
攻击原理
监听http流量
将请求 url 中的https,替换为http,发给被监听主机
客户端用https与服务端通信,然后用http与被监听主机通信
用NodeJS写的 demo:
https://github.com/zsky/sslstrip
攻击结果
服务器毫不知情
客户端无任何警告
攻击者获取了所有的通信信息
防御:HSTS指令
1、max-age,告诉浏览器在指定时间内,网站必须通过HTTPS协议来访问2、includeSubDomains,这个网站所有子域名都必须用https
3、...
Ngix配置就好
使用效果
第一次访问还是先通过http
浏览器得到 HSTS 的指令后,记录下来
之后浏览器会把网站所有http请求替换为https
风险
第一次还是可能会被攻击
解决风险
HSTS Preload list
内置在浏览器中,由 Google Chrome 维护
第一次时就直接通过https访问
在 http://hstspreload.appspot.com 可注册到 HSTS Preload list 中
参考文档
http://mit.sankuai.com/activity/#/12006
相关文章推荐
- 基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式
- 二、基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式
- 基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式
- https传输基于多ip实现的网站数据传输
- 基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式
- 利用WinPcap编程,实现基于ARP欺骗的中间人攻击
- 基于对象的JavaScript实现无刷新页面发送和获取数据Ajax.js
- 利用JQuery方便实现基于Ajax的数据查询、排序和分页功能
- 分享:基于UDP协议实现可靠的数据传输
- 让web应用实现无刷新数据交互-基于webservice
- 基于jQuery的AJAX和JSON实现纯html数据模板
- 基于IP的可靠数据传输堆栈实现技术点
- (原创)基于关系数据库系统链式存储的树型结构数据,求某结点下的子树所有结点算法(t-sql语言实现)
- 基于ajax技术的单一数据源的数据关联的设计与实现
- ARP欺骗源码(基于WinPcap实现)
- 基于Oracle的数据缓存实现
- 基于LVDS技术的远端数据传输系统实现
- 在LabVIEW中实现基于C/S结构的远程数据采集
- 基于UDP协议实现可靠的数据传输
- ARP欺骗源码(基于WinPcap实现)