https详细原理剖析 AND https中间人攻击演示

前言

本文主要是介绍https的原理,以及未想要学习中间人攻击的同学打个基础

https

http面临的问题

明文传输,信息容易被泄露或者篡改

在这里插入图片描述

tcp基础上添加TLS/SSL

Transport Layer Security:传输加密协议,规定了如何为网络中传输的数据进行加密和解密。
SSL(Secure Socket Layer):早期由网景公司设计的加密协议,后贡献给IETF组织,并最终重命名为TLS。

除了HTTPS外,TLS可以被应用于任何基于TCP/IP协议的上层协议或应用程序,如SFTP协议,SMTP协议,数据库间通信加密等等。

解决方案一:使用对称加密去加密要传输的数据

在这里插入图片描述

问题:预主密钥也可能泄露

在这里插入图片描述

解决方案二:使用非对称密钥去加密预主密钥

在这里插入图片描述

问题:如何保证这个公钥是服务器发的,而不是中间人发的?

在这里插入图片描述

解决方案3:证书代替非对称加密中的公钥

在这里插入图片描述

最终https的全过程

image-20250509040846882

证书

介绍

由证书颁发机构Certificate Authority(简称CA)所签发
唯一标识一个站点的身份信息

申请流程

准备CSR文件,包含网站域名,IP地址,公司名称,地理位置,邮箱地址,公钥

拿着CSR文件向CA机构申请证书

CA机构把证书颁发给服务器

证书创建的原理

怎么保证证书没有被篡改过:使用证书指纹

证书指纹:用于唯一标识一个证书(确保证书的完整性)
Hash加密:单项加密算法
不可逆性:无法对一个散列值做逆向操作来获取其原始数据
唯一性:不同的数据其计算得出的散列值永远不同,而同一输入计算出的散列值永远一样

怎么确保指纹的真实性:使用数字签名

数字签名:用于验证证书身份的真实性
利用PKI进行加密和解密操作,来验证证书真伪
CA使用私钥加密指纹,公钥解密指纹

根证书预安装:所有操作系统都默认安好了所有受信任的CA的根证书

根证书中包含了CA的公钥,这样防止了获取到的公钥是假的公钥的可能

中间人攻击演示(使用Burp模拟中间人)

https中间人攻击原理

img

准备工作:

1.浏览器设置代理

image-20250509145541079

2.确认流量转发到了burp

此时浏览器事先安装了证书,所以burp能正常转发

image-20250509145746812

演示:

1.Burp重新生成根证书,重启使其生效

  1. Burp Suite会生成全新的密钥对,包括新的私钥和对应的公钥。
  2. 使用新生成的私钥对新的公钥及其他信息(如颁发者名称、有效期等)进行自签名,生成新的CA根证书。此证书包含了新公钥,并由新私钥签名。

image-20250509150059267

由于之后签名的都是新的私钥,导致之后的数据传输,浏览器中旧的根证书验签会失败,此时再次发起一个请求,会观察到页面无法访问.如下图:

image-20250509152002624

2.为浏览器安装burp的自签名根证书

生成根证书

在这里插入图片描述
在这里插入图片描述

为浏览器安装根证书

image-20250509152619951

测试

再次发https请求,观察浏览器页面变化,可以看到流量成功经过Burp到了服务器

image-20250509152748444

打开Burp,观察到经过Burp的数据是明文传输,说明Burp确实起到了中间人的效果

image-20250509153007379

总结

通过本次实验,更加深入的理解了Https协议的工作流程,对中间人攻击的一个基础框架有了一定的认识。

(注:本文介绍Https原理方面有部分图片来自于互联网,如有侵权,请联系删除)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值