HTTPS中间人攻击
文章类型:Javascript
发布者:hp
发布时间:2023-04-03
一:是什么
中间人攻击中,中间人首先伪装成服务端和客户端通信,然后又伪装成客户端和服务端进行通信
由于缺少了证书的验证过程,虽然使用了https,但是传输的数据已经被监听,客户端却无法得知
二:过程
1:客户端请求被劫持,将所有的请求发送到中间人的服务器,截取公钥,返回自己的证书
2:客户端创建随机数,使用中间人证书中的公钥进行加密发送给中间人服务器,中间人使用私钥对随机数解密并构造对称加密,对之后传输的内容进行加密传输
3:通过客户端的随机数对客户端的数据进行解密
4:与服务端建立合法的https连接,与服务端之间使用对称加密进行数据传输,拿到服务端的响应数据,并通过与服务端建立的对称加密的秘钥进行解密
5:再通过与客户端建立的对称加密对响应数据进行加密后传输给客户端
6:客户端通过与中间人建立的对称加密的秘钥对数据进行解密
三:怎么预防
1:使用正规厂商的证书,慎用免费的,服务端发送浏览器公钥中加入CA证书,浏览器验证CA证书的有效性