Fiddler抓取HTTPS协议
HTTPS协议握手过程:
1,客户端明文请求,把自己支持的非对称加密算法(用于使用CA证书公钥加密计算生成协商密钥的随机数per_master)、对称加密算法(用于以后使用协商密钥加密传输内容)、验证数据完整性的HASH算法、随机数Random_C发给服务器。
2,服务器发回客端的明文信息,包含选择一套加密算法、HASH算法、CA证书、随机数Random_S。CA证书中包含服务器地址、公钥、证书颁发机构信息和签名。
3,客户端做五件事:
a)对证书合法性、证书中包含的地址与正在访问的地址是否一致等进行校验;
b)生成一串随机数密码pre_master,并使用服务器选择的非对称加密算法和CA证书里的公钥对pre_master加密,得到enc_pre_master;
c)计算协商密钥enc_key=Func(random_C,random_S,pre_master);
d)使用约定好的HASH验证算法计算握手信息,用协商密钥enc_key及约定好的加密算法对握手消息加密。
e)客户端发送enc_pre_master、同意使用约定的算法和协商密钥通信、加密的握手信息给服务器。
4,服务器收到数据做五件事:
a)用自己的私钥解密enc_pre_master,得到pre_master;
b)计算协商密钥enc_key=Func(random_C,random_S,pre_master);
c)使用协商密钥enc_key和约定的解密算法解密握手信息,并验证HASH与客户端发来的是否一致;
d)生成握手消息,使用协商密钥enc_key与约定好的加密算法加密握手消息,发给客户端。
5,客户端用协商密钥解密握手消息,计算HASH,如果HASH与服务器发来的一致,握手结束。
此后,所有通信数据将用对称密钥enc_key及约定好的对称加密算法进行加密解密。
这里客户端与服务器互发加密的握手消息并验证,是为了保证双方都获得了一致的密钥enc_key,并且可以正常的加密解密数据,为真正数据的传输做一次测试。
从上面的过程可以看到,enc_key是最终的通信密钥,得到了浏览器生成的pre_master,就得到了enc_key,就可以解密HTTPS报文。
Fiddler截获HTTPS协议过程:
1,F截获浏览器发给服务器的HTTPS请求,伪装成浏览器向服务器发送请求进行握手。
2,服务器发回响应,获取到CA证书,用根证书公钥进行解密,验证服务器签名,获取到服务器CA证书公钥。然后F伪造自己CA证书,冒充服务器证书给客户端浏览器。
3,浏览器对返回的数据进行校验、生成pre_master、用F伪造的证书公钥加密生成enc_pre_master,并生成enc_key。
4,浏览器将重要数据返回给服务器时,又被F截获。F将截获的密文用自己伪造证书的私钥解开,得到enc_pre_master,计算出对称密钥enc_key。F将enc_pre_master用服务器证书公钥加密传给服务器。
5,服务器用私钥解开数据,建立信任,再发送加密握手消息给客户端。
6,F截获服务器发来的密文,用服务器公钥解开,再用自己伪造证书的私钥加密传给浏览器。
7,浏览器得到加密信息,用伪造证书的公钥解开,验证HASH,握手正式完成。
此后,浏览器和服务器之间的消息都是用对称密钥enc_key加密和解密,F知道这个enc_key,所以整个HTTPS信息对F是透明的。
这个过程里,浏览器认可F伪造的CA证书是关键,所以对伪造CA证书签名的根证书是关键。所以系统里要安装这个F伪造的根证书。
Fiddler抓取HTTPS协议的更多相关文章
- 浅谈HTTPS以及Fiddler抓取HTTPS协议
最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...
- fidder https以及Fiddler抓取HTTPS协议
一.浅谈HTTPS 我们都知道HTTP并非是安全传输,在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的.目前越来越多的企业选择使用HTTPS协议与用户进行通信,如百度.谷歌等. ...
- 浅谈HTTPS以及Fiddler抓取HTTPS协议(摘抄)
一.浅谈HTTPS 我们都知道HTTP并非是安全传输,在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的.目前越来越多的企业选择使用HTTPS协议与用户进行通信,如百度.谷歌等. ...
- 【转载】浅谈HTTPS以及Fiddler抓取HTTPS协议
最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...
- Fiddler抓取https协议的证书导入过程
fildder抓取https的设置以及证书导出 打开fiddler界面,选择左上角菜单栏Tools-Options 出现Options界面后,选择HTTPS选项卡 勾选上Capture HTTPS C ...
- Fiddler: 如何抓取HTTPS协议的网页
作者:韦玮 转载请注明出处 Fiddler默认只能抓取HTTP协议的网页,不能抓取HTTPS协议的网页,而我们很多时候,都需要抓HTTPS协议的网页,比如抓淘宝数据等.今天,韦玮老师会为大家讲解如何 ...
- Fiddler如何抓取HTTPS协议的网页
Fiddler默认只能抓取HTTP协议的网页,不能抓取HTTPS协议的网页,而我们很多时候,都需要抓HTTPS协议的网页,比如抓淘宝数据等.今天,韦玮老师会为大家讲解如何使用Fiddler抓取HTTP ...
- HTTPS-使用Fiddler抓取HTTPS数据包原理
最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...
- Fiddler抓取https设置及其原理
iddler抓取https设置及其原理 2018-02-02 目录 1 HTTPS握手过程2 Fiddler抓取HTTPS过程3 Fiddler抓取HTTPS设置参考 数字签名是什么? 1 HTTPS ...
随机推荐
- C# 知识回顾 - 扩展方法解析
在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到. 继承的有关特性的使用所带来的问题:对象的继 ...
- [OS] 进程间通信--管道
管道是单向的.先进先出的.无结构的.固定大小的字节流,它把一个进程的标准输出和另一个进程的标准输入连接在一起.写进程在管道的尾端写入数据,读进程在管道的首端读出数据.数据读出后将从管道中移走,其它读进 ...
- Binding自动侦听
WPF的强大之一就是数据绑定,Binding是数据桥梁,它的两端是分别是源(Source)和目标(Target),一个简单的类的属性值发生变化,会自动反映在UI界面上,这个属性就是Binding的Pa ...
- AC自动机裸题
HDU 2222 Keywords Search 模板题.对模式串建立AC自动机然后在trie树上找一遍目标串即可. # include <cstdio> # include <cs ...
- WCF服务的建立以及调用
WCF对我来说既陌生又熟悉,陌生是因为没怎么接触过,熟悉是听得太多,今天抽出点时间看了一下WCF,并且自己也写了一WCF的小程序以及调用WCF.步骤为: 1.创建一个解决方案WCF,和一个控制台项目W ...
- Oracle 获取 某个表的建表SQL
获取A表的创表SQL select dbms_metadata.get_ddl('TABLE','A') from dual
- [luogu5048] [Ynoi2019模拟赛] Yuno loves sqrt technology III
题目链接 洛谷. Solution 思路同[BZOJ2724] [Violet 6]蒲公英,只不过由于lxl过于毒瘤,我们有一些更巧妙的操作. 首先还是预处理\(f[l][r]\)表示\(l\sim ...
- LOJ6303:水题——题解
https://loj.ac/problem/6303 题目来自LOJ. 就记一个公式,设f(n,k)为n!里分解得到的k(k为质数)的个数,则f(n,k)=f(n/k,k)+n/k. 证明很好证,显 ...
- HDOJ(HDU).1016 Prime Ring Problem (DFS)
HDOJ(HDU).1016 Prime Ring Problem (DFS) [从零开始DFS(3)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...
- HDOJ(HDU).1015 Safecracker (DFS)
HDOJ(HDU).1015 Safecracker [从零开始DFS(2)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DFS HDOJ.1 ...