burpsuite抓https数据包原理

目录

理解原理

应用例子


实验课做过burpsuite证书导入浏览器,很好奇为什么要这样做

直到前两天有师傅在群里提到了,然后有师傅分享了文章,我看了蛮久之后,得出理解如下:

学长分享的HTTPS原理文章读后感:

图解HTTPS原理 - 独自等待

理解原理

使用https协议传输数据的两个主机之间最终还是用对称加密的形式进行传输数据

要解决的问题是这个对称密钥,要怎么传输

假设是主机A向主机B发请求,那么他们:

A,生成一对对称密钥

B,生成一对非对称密钥

B先把生成的的公钥发给A,A收到后,用B的公钥加密A自己生成的对称密钥并发给B,B收到后用自己的私钥解密,就得到了对称密钥

此时只有他们两个知道(所以关键在于B要好好保存自己的私钥哦)

但是,A又怀疑了,真的是B在跟我通信吗,此时,需要借助与A、B亲密且可信任的人来保管B的公钥的人,这个人是C

C怎么保管呢,C自己先生成一对非对称密钥,然后用自己的私钥给B的公钥加密,再把公钥一同发给A,(C加密解密的这个过程也就是数字签名技术的过程)

那么问题又来了,如果C的公钥在半路被劫持了怎么办,攻击者还是能把B的公钥改成自己的呀,但是呢,如果攻击者想改公钥,那肯定有一个解密、重新加密的过程吧,在重新加密时候,他没有C的私钥,只能用自己的私钥,用了自己的私钥,那A那边之前就拿到C的公钥的,肯定解不开攻击者加密过的东西,所以就结束通信。如果这时候A能解开,那就说明是B的公钥,A再进行最前面那一系列的操作即可。

简而言之

大概就是经过那么三个过程:

C用自己的私钥加密B的公钥发给A

A用B的公钥加密对称密钥给B

A和B之间用A的对称密钥通信

SSL是数字证书的一种,数字证书也叫公钥证书

应用例子

Burpsuite & Firefox

首先,浏览器向服务器以http的形式提交请求,所以要设浏览器和burpsuite为同一个代理,到时候就设置为127.0.0.1:8080(BurpSuite默认占用8080端口)

Burpsuite开了http代理截取浏览器的请求内容,自己也向浏览器提交请求,与服务器建立一个真正的连接(可以说是伪造成服务器接受浏览器的请求)

但是burpsuite没有服务器证书对应的私钥所以不能直接把服务器的证书转给浏览器,而只能引入自己的证书,所以就通过手动导出自己的证书到浏览器去,进行通信

然后就能截取到https站点的内容了

参考文章来自:

​​​​​​图解HTTPS原理 - 独自等待

小白的计算机学习之旅,欢迎指正!

上一篇:LabView中,下拉列表和枚举有什么区别?


下一篇:深入剖析Docker镜像