由fiddler抓包联想到....

大家都知道https是加密的通信,下边简述一下简单流程

  1. 客户端(打招呼)请求服务端(此时未建立https链接,通信都是明文的),服务端返回自己的服务器证书及相应支持的加密方式列表

  2. 客户端检查ca证书是否受信,是的话,继续,不是的话,浏览器会有提示

  3. 客户端生成RSA公钥+客户端回话密钥(并加密)给服务器,服务器解密出两个密钥。然后自己生成一个服务端会话密钥(并加密)发送给客户端。客户端解密出来服务端会话密钥。用人话说就是,服务端和客户端交流了一下自己的公钥,然后双方各自生成了一个自己的通信密钥并告知对方,交流完毕,就开始各自用各自的通信密钥发送加密后的数据,正常通信了。

fiddler 抓包的原理就是 在客户端和服务端中间添加一个透明代理,这个代理当然也有自己的CA(受信)证书,对于服务端来说,fiddler就是一个客户端,只要fiddler支持https协议即可;对于客户端来说,fiddler就是一个服务端,我们真正的客户端经过fiddler的时候,客户端需要鉴定fiddler的证书,这一步就是为什么客户端设备(手机、pc、其他终端设备)需要手动安装fiddler的证书。

联想一下,把我们刚刚安装的 “ fiddler证书 ” 替换成某某大公司的证书,恰巧这个大公司又运营了你访问某(https)网站的必经结点。那么你通过https访问的数据,就没得秘密可言了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容