A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ~Maybe 中级黑马   /  2019-5-16 14:21  /  1175 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


抓取HTTPS过程
第一步,Fiddler截获客户端发送给服务器的HTTPS请求,Fiddle伪装成客户端向服务器发送请求进行握手                      。
第二步,  服务器发回相应,Fiddler获取到服务器的CA证书, 用根证书(这里的根证书是CA认证中心给自己颁发的证书)公钥进行解密,验证服务器数据签名, 获取到服务器CA证书公钥。然后Fiddler伪造自己的CA证书(这里的CA证书,也是根证书,只不过是Fiddler伪造的根证书), 冒充服务器证书传递给客户端浏览器。
第三步,与普通过程中客户端的操作相同,客户端根据返回的数据进行证书校验、生成密码Pre_master、用Fiddler伪造的证书公钥加密,并生成HTTPS通信用的对称密钥enc_key。
第四步,客户端将重要信息传递给服务器,又被Fiddler截获。Fiddler将截获的密文用自己伪造证书的私钥解开,获得并计算得到HTTPS通信用的对称密钥enc_key。Fiddler将对称密钥用服务器证书钥加密传递给服务器。
第五步,与普通过程中服务器端的操作相同,服务器用私钥解开后建立信任,然后再发送加密的握手消息给客户端。
第六步,Fiddler截获服务器发送的密文, 用对称密钥解开, 再用自己伪造证书的私钥加密传给客户端。
第七步,客户端拿到加密信息后,用公钥解开,验证HASH。握手过程正式完成,客户端与服务器端就这样建立了”信任“。在之后的正常加密通信过程中,Fiddler如何在服务器与客户端之间充当第三者呢?服务器—>客户端:Fiddler接收到服务器发送的密文, 用对称密钥解开,获得服务器发送的明文。再次加密, 发送给客户端。客户端—>服务端:客户端用对称密钥加密,被Fiddler截获后,解密获得明文。再次加密,发送给服务器端。由于Fiddler一直拥有通信用对称密钥enc_key, 所以在整个HTTPS通信过程中信息对其透明。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马