首页 > 学院 > 开发设计 > 正文

基于ARP欺骗实现中间人攻击,破解HTTPS数据为明文

2019-11-06 09:41:35
字体:
来源:转载
供稿:网友

演示流程

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,这个网站所有子域名都必须用https3、...Ngix配置就好

使用效果

第一次访问还是先通过http浏览器得到 HSTS 的指令后,记录下来之后浏览器会把网站所有http请求替换为https

风险

第一次还是可能会被攻击

解决风险

HSTS PReload list内置在浏览器中,由 Google Chrome 维护第一次时就直接通过https访问在 http://hstspreload.appspot.com 可注册到 HSTS Preload list 中

参考文档

http://mit.sankuai.com/activity/#/12006


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表