我刚刚发现Fiddler可以解密HTTPS流量。
例如,我使用HTTPS在localhost上部署了一个网站。在Fiddler中检查数据包时,我能够查看所有信息,因为它可以选择解密它。
我的问题是,当Fiddler可以轻松解密时,为什么要使用HTTPS?
答案 0 :(得分:32)
Fiddler执行MITM
技术。
要使其有效,您需要信任其证书:
http://www.fiddler2.com/fiddler/help/httpsdecryption.asp
如果你不这样做,它就不会解密任何东西......
Fiddler2如何调试HTTPS流量?
答:Fiddler2依赖于HTTPS中的“中间人”方法 拦截。在您的网络浏览器中,Fiddler2声称是安全的 Web服务器和Web服务器,Fiddler2模仿Web浏览器。 为了假装成为Web服务器,Fiddler2动态 生成HTTPS证书。
您的网络浏览器不信任Fiddler的证书(因为 Fiddler不是受信任的根证书颁发机构,因此 当Fiddler2拦截您的流量时,您会看到HTTPS错误 浏览器中的消息[...]
答案 1 :(得分:11)
要解密HTTPS流量,您必须先将Fiddler的根证书安装到“受信任/根证书”列表中。 Fiddler的根证书是 NOT Root证书,默认情况下随您的操作系统一起提供。操作系统通常会在您尝试安装时警告您。
这样做,您明确地开始信任由Fiddler的根证书签名的任何证书。当您现在发出https请求时,Fiddler将与您一起执行中间人攻击。
假设您以https://google.com的形式提出请求。 Fiddler现在将充当实际的Google服务器,并将为Google.com创建虚拟证书,并使用Fiddler的Root证书对其进行签名。您将收到由Fiddler签名的虚拟证书。此证书将通过您的设备验证,因为Fiddler的Root证书现在位于您的可信证书中。现在,您的设备将通过安全的HTTPS连接开始与Fiddler通信。 Fiddler会将您的消息转发给Google.com并返回给您。当然,Fiddler将能够解密它们。
请注意,从Fiddler到Google的流量将通过第二个Secure https频道进行。
因此,不必担心https提供的安全性。