-
Notifications
You must be signed in to change notification settings - Fork 383
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
图解 HTTPS:Charles 捕获 HTTPS 的原理 #108
Comments
那Charles 的方式也算作做是一种显示的劫持了。 |
@Thinking80s 本质就是劫持。不过要强调的是:之所以能劫持,并不是因为 HTTPS 不安全,而是因为操作人主动安装信任了 Charles 根证书中心。 |
@Thinking80s https的抓包,是因为你安装了charles的证书,这个时候charles即充当了客户端也充当了服务端 |
太棒啦,好清晰,解惑啦! |
为什么都是苑一峰的文章, 百度自己就有很大介绍https的东西。 |
数字证书那张图的第11步是不是用服务器私钥解密? |
对,第11步写错了,应为“用服务器私钥解密,得到会话密钥”。感谢指正,已更正。 @silif |
这段话把我看的有点懵 |
非常清晰,感谢分享! |
图中红字更正的还是:得到会话私钥。 |
@maquannene 你说得对,图更新错了,现在已经重新更新了。看得好仔细,感谢指正。 |
@youngwind 传播知识,心存敬畏。 |
看到的最容易理解的版本👍 |
图文并茂, 简洁明了, 大大加深了对 HTTPS 的理解, 也纠正了之前的一些误区。 |
好文。最后一张图,第7步“用服务器公钥加密,发送给服务器”,这个“服务器公钥匙怎么来的呢?”最好在第3步的时候说明一下charles拦截响应获取了来自服务器的公钥 |
客户端取得证书后解开得到域名,hash等信息,校验hash可以判断内容是否被修改过?这是什么意思,如何校验这个hash? |
真是一图胜千言,记忆模糊的时候拿出来一看就又明白了。 有个地方字打错了,提醒一下
这句里的“正式”应该是“证书” |
写的很不错,我写了一篇“用故事说透HTTPS” https://mp.weixin.qq.com/s/MfvUuitrF8MN16nxyZNB8A |
学到了很多。所以日常的抓包工具 Charles 或者 Fiddler 在要抓取 HTTPS 包之前都需要安装 "证书",这个"证书"更准确的说法应该是:安装 Charles 证书中心 或者 Fiddler 证书中心。因为客户端收到的动态证书是来自代理工具 Charles、Fiddler 生成的证书,而不是服务器本身的证书。所以在客户端就需要通过 Charles 或者 Fiddler 证书中心用私钥去解密证书! |
赞 |
|
前言
这篇文章我准备了很久,反复修改了很多次,仍不觉得满意,原因是:
下面是我参考的资料,基本代表了我学习 HTTPS 的一个思路顺序:
既然网上的文章已经很多,我就不赘述了。凭自己的理解,我画了几张 HTTPS 的图,以求能加深记忆,最后的例子是解释 Charles 捕获 HTTPS 的原理。
图解
误区
我在学习 HTTPS 的时候,发现有几个地方特别容易掉坑里。
-------------- 完 --------------
The text was updated successfully, but these errors were encountered: