HTTPS协议学习

HTTPS协议学习
一、HTTPS:安全的超文本传输协议
http的加密版本:http+ssl/tls,两者配合使用,将请求和响应的数据报文加密传输。更高的安全性
https加密传输的三特点:
1、确保数据传输的机密性,仅收发双方可以查看
2、确保数据传输的完整性,不能第三方篡改
3、确保服务器的身份真实性

二、加密方式:
对称加密:客户端与服务器端使用同一个秘钥。
非对称加密:客户端与服务器端使用公钥和私钥这一样一对秘钥。
使用公钥加密,必须使用私钥解密
使用私钥加密,必须使用公钥解密
也只能是相对安全,
对称加密:在客户端与服务器端传输数据时还必须传输秘钥,也容易被拦截。
非对称加密:公钥公开,谁都可以拿到,私钥只存放与服务器端。
非对称加密:服务器将http报文数据加密发送给客户端,客户端收到报文数据使用对应的公钥解密。
非对称加密这里会有一个问题:
如何确保客户端收到的公钥就是服务器端真实公钥?

三、中间人攻击:网络攻击方式的一种,
攻击者通过某种手段出入到客户端与服务器端之间,窃取,篡改、干扰双方的通信。
中间人攻击可以将自己的公钥发送给客户端,客户端加密之后被中间人拦截,然后使用中间人的私钥解密原始数据,
经篡改数据后,使用服务器的公钥加密篡改后的数据,再传输给服务器端,服务器端接收并使用服务器私钥解密得到的是篡改后的数据,
而非客户端的原始数据。因此非对称加密也不安全

四、CA:证书颁发机构
CA的作用是确保服务器公钥的身份合法性,真实性。为服务器的身份受信任背书
哈希运算,哈希值:特点过程是不可逆,而且唯一性。 通过MD5值判断原始数据是否发生改变,md5sum 文件名
数字签名:CA根据服务器信息和服务器公钥生成一对CA的秘钥,使用私钥对哈希运算后的哈希值加密,然后客户端要使用对应的公钥解密验证,确保数据完整性
过程:
1、服务器端的公钥和服务器信息组成证书文件 填写表格信息
2、CA将证书文件进行哈希运算,得到哈希值 给表格按上手指印
3、CA根据证书文件生成一对秘钥:公钥和私钥,使用私钥对证书文件的哈希值加密,成为数字签名 CA给表格盖上钢印
4、数字证书:包含服务器证书文件+证书指纹(证书的哈希值)+CA的数字签名(CA私钥加密)
客户端收到数字证书,使用CA公钥对CA的数字签名解密得到哈希值
然后自己对数字证书中的证书文件进行哈希运算,运算得到的哈希值与前者校验比对,
比对结果一致,则说明服务器证书的合法性。比对不一致,说明证书文件已被篡改。
CA的公钥也是公开的,也可能被中间人拿到并使用中间人自己假的公钥给客户端,重复上述的中间人攻击。
为了确保CA的公钥的真实性,就有了根CA

五、根CA:根证书,不被其他的CA签发,最高信任等级的顶级证书颁发机构
同样的,根CA的私钥会对中间CA数字证书加密签名,然后使用根CA的公钥解密验证,以确保中间CA的公钥的真实性和安全性
而根CA的公钥是预装在用户客户端的,形成闭环。
根CA有一个,但是中间CA会有很多,以提高整个CA证书链路的可用性

六、实验:使用proxifier抓取小程序包
声明:以下仅在个人靶机实验环境下进行操作,请遵守网络安全法律法规。
1、安装proxifier软件
image
image
2、打开BurpSuite,配置代理服务器设置:127.0.0.1 端口:8080,访问http://127.0.0.1:8080下载安装证书
3、打开微信小程序,任务管理器中找到微信小程序的路径
4、打开proxifier,配置代理服务器,并测试检查。
image
image
5、在proxifier里添加代理规则
image
6、在BurpSuite开启拦截,操作小程序页面,可以看到有成功抓取到数据。
image
image

posted @ 2026-02-06 15:05  无锋夹克  阅读(3)  评论(0)    收藏  举报