<返回更多

为什么用抓包工具看HTTPS包是明文的?

2020-06-25    
加入收藏

测试或者开发调试的过程中,经常会进行抓包分析,并且装上抓包工具的证书就能抓取 HTTPS 的数据包并显示。由此就产生了一个疑问,为什么抓包工具装上证书后就能抓到 HTTPS 的包并显示呢?不是说 HTTPS 是加密传输的吗?

今天这篇文章就来探究下上面这个问题,要解释清楚这个问题,我会通过解答以下两个问题来讲述:

  1. HTTPS 到底是什么?
  2. 抓包工具抓包的原理?

HTTPS 到底是什么

HTTP 作为一种被广泛使用的传输协议,也存在一些的缺点:

  1. 无状态(可以通过 Cookie 或 Session 解决);
  2. 明文传输;
  3. 不安全;

为了解决 “明文” 和 “不安全” 两个问题,就产生了 HTTPS。HTTPS 不是一种单独的协议,它是由 HTTP + SSL/TLS 组成。

为什么用抓包工具看HTTPS包是明文的?

HTTP与HTTPS

所以要理解 HTTPS 就只需在 HTTP 的基础上理解 SSL/TLS (TLS 是 SSL 的后续版本,现在一般使用 TLS),下面就来了解下 TLS 是什么。

TLS

「传输层安全性协议」(英语:「T」ransport 「L」ayer 「S」ecurity,缩写:「TLS」)及其前身「安全套接层」(英语:「S」ecure 「S」ockets 「L」ayer,缩写:「SSL」)是一种「安全协议」,目的是为互联网通信提供安全及「数据完整性」保障。

TLS 由记录协议、握手协议、警报协议、变更密码规范协议、扩展协议等几个子协议组成,综合使用了对称加密、非对称加密、身份认证等许多密码学前沿技术。

TLS 的握手过程:

为什么用抓包工具看HTTPS包是明文的?

TLS握手过程

握手过程抓包显示:

为什么用抓包工具看HTTPS包是明文的?

TLS抓包


为什么用抓包工具看HTTPS包是明文的?

TLS所传输的数据

交换密钥的过程为:

  1. 客户端发起一个请求给服务器;
  2. 服务器生成一对非对称的公钥(pubkey)和私钥(privatekey),然后把公钥附加到一个 CA数字证书 上返回给客户端;
  3. 客户端校验该证书是否合法(通过浏览器内置的厂商根证书等手段校验),然后从证书中提取出公钥(pubkey);
  4. 客户端生成一个随机数(key),然后使用公钥(pubkey)对这个随机数进行加密后发送给服务器;
  5. 服务器利用私钥(privatekey)对收到的随机数密文进行解密得到 key ;
  6. 后续客户端和服务器传输数据使用该 key 进行加密后再传输;

抓包工具抓包的原理

先来看看抓 HTTP 包的原理

为什么用抓包工具看HTTPS包是明文的?

HTTP抓包过程

  1. 首先抓包工具会提供出代理服务,客户端需要连接该代理;
  2. 客户端发出 HTTP 请求时,会经过抓包工具的代理,抓包工具将请求的原文进行展示;
  3. 抓包工具使用该原文将请求发送给服务器;
  4. 服务器返回结果给抓包工具,抓包工具将返回结果进行展示;
  5. 抓包工具将服务器返回的结果原样返回给客户端;

抓包工具就相当于个透明的中间人,数据经过的时候它一只手接到数据,然后另一只手把数据传出去。

再来看看 HTTPS 的抓包

为什么用抓包工具看HTTPS包是明文的?

HTTPS抓包过程

这个时候抓包工具对客户端来说相当于服务器,对服务器来说相当于客户端。在这个传输过程中,客户端会以为它就是目标服务器,服务器也会以为它就是请求发起的客户端。

  1. 客户端连接抓包工具提供的代理服务;
  2. 客户端需要安装抓包工具的根证书;
  3. 客户端发出 HTTPS 请求,抓包工具模拟服务器与客户端进行 TLS 握手交换密钥等流程;
  4. 抓包工具发送一个 HTTPS 请求给客户端请求的目标服务器,并与目标服务器进行 TLS 握手交换密钥等流程;
  5. 客户端使用与抓包工具协定好的密钥加密数据后发送给抓包工具;
  6. 抓包工具使用与客户端协定好的密钥解密数据,并将结果进行展示;
  7. 抓包工具将解密后的客户端数据,使用与服务器协定好的密钥进行加密后发送给目标服务器;
  8. 服务器解密数据后,做对应的逻辑处理,然后将返回结果使用与抓包工具协定好的密钥进行加密发送给抓包工具;
  9. 抓包工具将服务器返回的结果,用与服务器协定好的密钥解密,并将结果进行展示;
  10. 抓包工具将解密后的服务器返回数据,使用与客户端协定好的密钥进行加密后发送给客户端;
  11. 客户端解密数据;

总结

作者:tester_小天

来源:https://www.cnblogs.com/tester-xt/p/13174279.html

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>