分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Fiddler抓取https协议的原理是什么?

发布时间:2023-09-06 01:25责任编辑:董明明关键词:http

  近期项目中遇到个问题,就是测试环境的证书实际是不安全的,但是使用Fiddler 后,浏览器的地址栏显示证书竟然安全了。我百思不得其解,查了大量资料,终于解开了,也分享给大家。

  Fiddler2 使用 man-in-the-middle (中间人) 攻击的方式来截取 HTTPS 流量。在 Web 浏览器面前 Fiddler2 假装成一个 HTTPS 服务器,而 在真正的 HTTPS 服务器面前 Fiddler2 假装成浏览器。Fiddler2 会动态地生成 HTTPS 证书来伪装服务器。

  第一步,首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。

  第二步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。

  第三步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。

  第四步, 客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。

  第五步, fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。

  第六步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。

  第七步, fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。

  第八步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文。

  由于fiddler一直拥有通信用对称密钥, 所以在整个https通信过程中信息对其透明。
  原文链接:https://www.zhihu.com/question/24484809

Fiddler抓取https协议的原理是什么?

原文地址:http://www.cnblogs.com/ls99/p/7871742.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved