您的位置:首页 > 理论基础 > 计算机网络

基于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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息