34

我刚刚发现 Fiddler 可以解密 HTTPS 流量。

例如,我使用 HTTPS 在 localhost 上部署了一个网站。在 Fiddler 中检查数据包时,我能够查看所有信息,因为它具有解密的选项。

我的问题是,既然 Fiddler 可以轻松解密,为什么还要使用 HTTPS?

4

2 回答 2

34

提琴手执行一项MITM技术。

要使其工作,您需要信任其证书:

http://www.fiddler2.com/fiddler/help/httpsdecryption.asp

如果你不这样做,它不会解密任何东西......

Fiddler2 如何调试 HTTPS 流量

答:Fiddler2 依赖于“中间人”的 HTTPS 拦截方法。对于您的网络浏览器,Fiddler2 声称是安全的网络服务器,而对于网络服务器,Fiddler2 模仿网络浏览器。Fiddler2为了伪装成web服务器,动态生成HTTPS证书。

您的网络浏览器不信任 Fiddler 的证书(因为 Fiddler 不是受信任的根证书颁发机构),因此当 Fiddler2 拦截您的流量时,您会在浏览器中看到 HTTPS 错误消息 [...]

于 2013-03-06T11:14:00.050 回答
15

为了解密 HTTPS 流量,您必须首先将 Fiddler 的根证书安装到您的“受信任/根证书”列表中。Fiddler 的根证书不是您的操作系统默认附带的根证书。当您尝试安装它时,操作系统通常会警告您。

在这样做时,您明确地开始信任由 Fiddler 的根证书签名的任何证书。当您现在发出 https 请求时,Fiddler 将与您一起执行中间人攻击。

假设您以https://google.com的形式提出请求。Fiddler 现在将充当实际的 Google 服务器,并将为 Google.com 创建一个虚拟证书并使用 Fiddler 的根证书对其进行签名。您将收到这个由 Fiddler 签名的虚拟证书。此证书将通过您设备的验证,因为 Fiddler 的根证书现在位于您的受信任证书中。现在,您的设备将开始通过安全的 HTTPS 连接与 Fiddler 通信。Fiddler 会将您的消息转发到 Google.com 并返回给您。当然 Fiddler 将能够解密它们。

请注意,从 Fiddler 到 Google 的流量将通过第二个安全 https 通道发生。

因此,不用担心 https 提供的安全性。

于 2014-10-30T09:54:15.730 回答