您当前的位置:涂装应用 >  >> 正文
BurpSuite抓HTTPS数据为什么要安装证书?

时间:2023-09-09 04:48:22    来源:哔哩哔哩


【资料图】

使用过BurpSuite的人都知道,在抓取HTTPS数据之前,需要从BurpSuite的页面https://burp下载证书安装到本地浏览器并信任该证书。这是为什么?

我们都知道HTTPS数据实际上就是使用SSL或者TLS进行加密之后的HTTP流量,而SSL和TLS则是传输层的安全加密协议,它保证了数据在网络传输过程中是加密的,在密钥协商阶段没有同时泄露公钥和私钥的情况下,之后的所有数据就是安全的。我们看一下HTTPS的密钥协商过程,这里的客户端,通常就是指浏览器

这里我不对SSL或TLS整个加密的过程做过多的解释,我们只需要知道,在标号3的数据包中,会包含服务器发给客户端的证书,也就是浏览器收到的证书,当你在浏览器上第一次访问某个网站时,有时会弹出下面这样的警告

为什么会存在风险呢,这就需要提到一个概念——中间人攻击,下面我用图来解释一下,这种风险的存在形式

对于浏览器而言,在访问HTTPS页面后,在第一张图标号3的阶段,会接收到来自服务器的证书,这个证书里面就包含了服务器的公钥,注意这里的公钥不是直接对明文进行加密,情况比较复杂,具体可以学习一下SSL/TLS的协商方式,这里加密的对象是Pre-master secret,我们通常将其称为预主密钥,它在后面会通过派生算法生成真正的主密钥,来给明文进行加密。

但是,在密钥协商阶段,可以存在一位中间人,它能够伪装成客户端,拦截从服务器发送过来的证书,提取到对应的公钥,然后又伪造成服务器,欺骗客户端,并将自己的证书发给它,让客户端使用自己的公钥,然后再用自己的私钥解密,再将解密内容用服务器的公钥加密,发给服务器。于是,当客户端误以为中间人就是服务器时,中间人就能获取到客户端到服务器之间原本加密之后的数据了,这就是中间人攻击。

而BurpSuite之所以能抓取SSL/TLS的数据的原因,就是因为客户端信任了BurpSuite,也就是浏览器信任了BurpSuite的证书,把它认为是服务器端,下面我用图更直观地展示一下。

其实,这个问题的背后,有着复杂的密钥协商过程,但是,我想,当你读完这篇文章,想必已经明白了,我们为什么抓取BurpSuite的流量之前要先安装一下它的证书了吧。之后讲一讲什么呢?嗯。。。

关键词:

X 关闭

X 关闭