在HTTPS(SSL)浏览器中发送加密数据,该加密数据只能由服务器解密。
为了确认,我确实在我的Firefox浏览器上设置了burp代理,以便拦截通过浏览器发送到HTTPS服务器的请求。 当我在burp收到它时,我看到用户输入的数据虽然我希望浏览器必须加密,但没有。
那么浏览器在什么时候通过HTTPS加密数据?
答案 0 :(得分:3)
执行此操作的大多数软件(例如防病毒扫描程序)都将https证书替换为自己的软件,因此https流量可以由软件填补。
虽然我不熟悉Burp,但它看起来也是如此:https://portswigger.net/burp/help/proxy_using.html
所以而不是
浏览器 - (通过https) - >服务器
只有服务器可以读取,因为只有服务器具有解密http的私钥,因此,它变为:
浏览器 - (通过https) - >打嗝 - (通过https) - >服务器
如果您在浏览器中查看https证书,您可能会注意到它是由Burp发布的,而不是该网站在不使用Burp时显示的真实证书。
这是实现此目的的唯一真正方式,在加密发生之前没有主要更改浏览器来拦截它,但可能会产生自己的问题:软件是否真的会拦截您和您的银行之间的流量?如果第一个连接可能受到损害该怎么办(例如,参见the Lenovo superfish incident)。由于这个原因,许多人(包括我自己)不喜欢MITM https服务。