0

我的理解是,使用https协议的网站数据在浏览器和服务器之间传输时会被加密。什么时候加密?

在登录表单中,我使用 Telerik Fiddler Web Debuger 捕获请求,我仍然看到明文密码。另一个问题,使用嗅探流量工具或代理的 IT 管理员可以捕获 HTTPS 请求并查看敏感值,不是吗?

那么数据什么时候会被加密呢?

4

1 回答 1

1

这是一个有趣的问题。浏览器的网络库会在通过 HTTPS 发送请求时对数据进行加密。当通过 HTTPS 发送请求时,客户端(浏览器)将执行 TLS 握手以协商加密细节,然后发送加密数据。我假设您看到的明文密码在 Fiddler 的浏览器插件中,而不是在代理应用程序中。在检查特定请求时,您始终可以在浏览器的网络选项卡中看到网络请求信息/有效负载,包括清除密码。当通过 HTTPS 发送时,您将无法在代理拦截器以及像 wireshark 这样的嗅探器应用程序中看到纯文本的请求数据。正如您从 Telerik Fidler 的视频中看到的那样,它们仅显示 HTTP 请求。

您绝对可以设置一个能够检查 SSL 流量的代理(中间人代理)。这是在许多公司网络中完成的。为此,您将使用浏览器信任的 SSL 证书设置转发代理,然后允许代理解密来自浏览器的 HTTPS 请求并对其进行检查。

当通过 HTTP 发送数据时,可以嗅探数据,并且人们可以看到请求信息和有效负载。这就是人们应该始终通过 TLS 连接发送敏感数据的原因

更新:

此图显示通过 HTTPS 的客户端到服务器的连接。表单数据在通过 Internet 发送之前始终是加密的

在此处输入图像描述

此图像来自SonicWall SSL 控制

于 2021-01-07T13:09:15.597 回答