当前位置:   article > 正文

2024年为什么如此安全的https协议却仍然可以被抓包呢?(1),真是经典中的经典

2024年为什么如此安全的https协议却仍然可以被抓包呢?(1),真是经典中的经典

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

借助那些可信赖的CA机构,客户端是可以安全地获取到服务器的真实公钥的。

CA机构专门用于给各个服务器签发数字证书,从而保证客户端可以安全地获得服务器的公钥。

服务器的管理员可以向CA机构进行申请,将自己的公钥提交给CA机构。CA机构则会帮忙制作证书,并使用自己的私钥对其加密,然后将加密后的信息返回给服务器。

这样,当客户端想要去获取某个服务器的公钥时,服务器会将CA机构签发的那段加密信息返回。那么客户端要如何解密这段信息呢?放心,主流CA机构的公钥都是被内置到操作系统当中的,所以只要是服务器的数字证书是由正规CA机构签发的,那么就一定可以被解密成功,从而客户端也就能安全地获取到服务器的公钥了。示意图如下:

而抓包工具在这个过程中可以做什么事情呢?我们还是以Fiddler举例。Fiddler的工作是介于客户端和服务器中间的,它会先于客户端接收到服务器返回的加密数据,然后它也可以使用操作系统内置的CA公钥对这段数据解密,从而得到服务器的公钥,并先将这个公钥保存起来。

接下来,Fiddler会将解密出来的数据进行调包,将其中服务器返回的公钥替换成自己的一个公钥,然后使用自己的非对称加密私钥对数据重新加密,并将这段重新加密后的数据返回给客户端。示意图如下:

但是我们知道,用Fiddler自己的私钥加密后的数据,客户端肯定解密不出来呀,因为Fiddler的公钥并没有内置到操作系统当中,这个时候就会出现我们在上篇文章看到的错误。

那么接下来要怎么办你应该很清楚了吧?这也是为什么我们一定要在手机上安装一个Fiddler提供的证书才行,只是为了让客户端能够解密出Fiddler调包之后的数据。如下图所示:

这样客户端仍然获得了一个公钥,并且还以为这个公钥是服务器返回的,实际上这是一个被Fiddler调包之后的公钥。而服务器返回的真实公钥则被Fiddler保存了起来。

到这里为止,获取服务器公钥的流程就结束了,目前各部分的状态如下:

接下来是客户端与服务器商定对称加密密钥的过程。

由于使用什么对称加密密钥是由客户端这边来决定的,客户端可以利用随机算法在本地生成一个对称加密密钥,并用服务器返回的公钥进行加密,然后发送给服务器。由于公钥加密的数据只能用私钥解密,因此没有任何人能破解出客户端生成的对称加密密钥到底是什么。

然后服务器这边使用自己的私钥将客户端发来的数据进行解密,这样客户端和服务器就都知道对称加密的密钥是什么了,并且绝对没有第三个人能知道,这样双方之后都使用对称加密来进行通讯即可,从而保证了数据传输的安全。示意图如下:

然而现在有了Fiddler,一切就都不一样了。

客户端这边拿到的其实根本就不是服务器的公钥,而是由Fiddler调包后的公钥。所以,客户端这边生成一个对称加密密钥后,使用的也是Fiddler调包后的公钥来进行加密的,这样这段加密后的数据只有用Fiddler自己的私钥才能解开。

那么很显然,Fiddler当然是有自己的私钥的,因此它能够解密出这段数据,这样Fiddler就知道客户端生成的对称加密密钥是什么了。

接下来不要忘记,Fiddler还在之前就保存了服务器返回的真实公钥,那么现在Fiddler可以用真实的服务器公钥再次加密这段数据,然后将加密后的数据发送给服务器。

对于服务器而言,它并不知道客户端这边发生了什么事,也不知道Fiddler的存在。它只知道,用自己的私钥是可以解密出客户端发来的数据,并能从中获得对称加密的密钥。示意图如下:

到这里,对称加密密钥的商定过程也就结束了,目前各部分的状态如下:

你会发现,现在客户端、服务器、Fiddler,这三者都知道对称加密的密钥是什么。

之后客户端与服务器之间的所有通讯都会使用这个密钥加密后再进行传输,不知道密钥的人自然是无法解密出传输的内容的,但是Fiddler却知道密钥是什么,因此它可以完美监听客户端与服务器之间的通讯内容,也就实现了对https协议抓包的功能。

以上就是https协议抓包的实现原理,虽然从最后的结果看上去,Fiddler在其中各种调包替换数据,干了很多不安全的操作。但Fiddler之所以有权限这么干,还是因为我们在一开始的时候手动安装了Fiddler的证书,否则后面的流程都是走不通的。

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/589419
推荐阅读
相关标签
  

闽ICP备14008679号