Burp Suite HTTPS解密原理

发布于:2025-03-22 ⋅ 阅读:(14) ⋅ 点赞:(0)

HTTPS

HTTPS是在HTTP的基础上增加了SSL/TLS协议,提供了数据的加密、完整性校验和身份认证等安全保障。HTTPS的工作过程可以分为两个阶段:握手阶段和数据传输阶段。

流程如下图所示:

通过上面的图可以看到,在TCP建立连接后会发起TLS版本校验,然后进行加密传输,在网络环境中,通常涉及到“对称加密”与“非对称加密”。

对称加密

客户端与服务器端都使用一个共有的密钥对传输的数据进行加密和解密。

在此种传输中会存在一个问题,双方会直接在通信过程中把自己使用的加密算法告知对方,若此时被黑客捕获到中间的传输加密方式,后续通信双方及时传输的内容是加密的也会被黑客解密。

为了解决这种问题,进一步升级了传输方式,诞生了“非对称加密方式”

非对称加密

非对称加密在传输过程中会把通信使用的加密方式进行二次加密,打个比方,小红偷偷给同桌小明递了一封情书,而这封情书小红使用了小明送给她的锁,而钥匙在小明自己手上。因此小红无论把情书放到任何位置,除了有钥匙的小明可以打开它以外其他人都无法查看。

在真实的网络环境中,公钥通常用于加密,私钥用于解密。公钥是由接收方对外提供给所有人,而私钥只有接收方自己才有,这样发送方会使用这个公钥对传输的数据进行加密,然后接收端用自己的私钥组合公钥一起解密查看到原文。

Burp Suite 解密

先查看Burp Suite的代理配置信息,访问代理的网站去下载Burp Suite的证书。

 如图所示去下载证书:

安装证书:

将证书导入到“受信任的根证书颁发机构”中。

配置全局代理

然后就可以进行抓包查看https解密的信息了。

原理

Burp Suite实际模拟了中间人攻击,使用了代理的方式把客户端的请求转发到Burp Suite再发送给的服务器进行响应。

可以看一下图做参考:

互联网有一个专门的机构来签发CA证书,这个机构有自己独立的一套Pub,Pri算法,当客户端在请求网页的时候首先都会去校验这个CA证书是否有效(只有受信任的签发机构提供的证书才会被验证为有效)。如果无效则会出现以下页面:

但是我们看原理章节最开始的图,可以发现Burp Suite是将自己的公钥给了客户端,CA证书也是Burp Suite自己的为什么访问网页的时候没有出现这个提示呢?

我们可以在系统“用户管理证书”中查看,原来我们在最开始添加了Burp Suite的CA证书到了,“受信任的根证书颁发机构”中。当客户校验的时候发现本地有这个受信任的CA证书自然就没有告警。

我们可以对比一下没有使用代理和使用代理时的证书信息

没有使用代理:

使用了代理: