Burp Suite如何拦截HTTPS请求,尽管已经进行了加密?

3

我试图熟悉https的基本概念,当我遇到它的加密时,它的加密方式如下:

enter image description here

现在我看到我的公司中的QA工程师使用这个叫做burp-suite的工具来拦截请求。

我困惑的是,即使数据通过加密通道流动,任何像burp-suite这样的拦截工具如何能够拦截请求。

只是为了尝试一下,我尝试在burp-suite中拦截Facebook请求,

enter image description here

在这里,您可以清楚地看到我在被拦截的请求中使用的测试电子邮件test@gmail.com

为什么这些数据不符合https标准的加密要求?

或者如果它是加密的,那么burp-suite如何解密它?

谢谢。

1个回答

5

Meta: 这不是一个开发或编程问题,但Burp有时用于研究或调试。

如果您查看使用Burp代理的文档

Burp CA证书 - 由于Burp中断了您的浏览器和服务器之间的TLS连接,因此您的浏览器默认情况下会显示警告消息,如果您通过Burp代理访问HTTPS站点。这是因为浏览器不认识Burp的TLS证书,并推断您的流量可能被第三方攻击者拦截。要有效地使用TLS连接,您确实需要在浏览器中安装Burp的CA主证书,以便它信任Burp生成的证书。

然后按照提供的链接操作

默认情况下,当您通过Burp浏览HTTPS网站时,代理会为每个主机生成一个TLS证书,并由自己的证书颁发机构(CA)证书签名...

使用自己生成的证书(以及匹配的密钥,尽管该网页没有谈论它,因为它对人不可见)而不是真实站点的证书,允许Burp“终止”来自客户端的TLS会话,解密并检查数据,然后通过不同的TLS会话将该数据转发到真实站点,并在响应时反之亦然(除非配置了不同的操作,例如修改数据)。

...此CA证书在第一次运行Burp时生成并存储在本地。要最有效地使用Burp代理与HTTPS网站,请在浏览器中将Burp的CA证书安装为受信任的根证书。

接下来是关于风险的警告和链接指南。

在浏览器中信任自己的CA证书意味着生成的证书被浏览器接受,且对于浏览器用户(或其他客户端)来说看起来大部分都很正常。


攻击者是否有可能像Burp Suite一样,在我的客户端上安装自己的证书并拦截我的HTTPS请求?如果是,我们该如何保护呢? - shellbot97
shellbot:如果攻击者拥有您机器的管理员/超级用户访问权限,那么他们可以安装证书并使用它来拦截您的流量--但是通过这种访问方式,他们也可以直接窃取您的所有数据,而不需要任何证书。您可以通过不向攻击者提供密码(大多数人都不会这样做)以及不运行易受攻击/有漏洞(或明显恶意)的软件来避免这些问题,这些软件会“允许”攻击者访问您的机器。 - dave_thompson_085

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接