admin管理员组文章数量:1558696
使用fiddler时,有一种情况,即执行https请求时,Host都是tunnel to, URL后边都带着443,这是什么意思呢? 比如:访问 https://www.csdn/
时,fiddler显示如下:
查看请求头会发现使用了Connect方法,
CONNECT www.csdn.net:443
Connect方法通常会建议代理(fiddler)与目标服务器建立http tunnel;尽管Connect也可以用于http请求,但是一般是用于SSL通信;
图中也显示了,fiddler提示不能解密HTTPS请求的数据。
默认情况下fiddler是不能解密https请求的,只有开启了Decrypt HTTPS traffic
功能时fiddler才能获取到https请求的数据:
中间人劫持攻击
https也不是绝对安全的,如下图所示为中间人劫持攻击,中间人可以获取到客户端与服务器之间所有的通信内容。
中间人截取客户端发送给服务器的请求,然后伪装成客户端与服务器进行通信;将服务器返回给客户端的内容发送给客户端,伪装成服务器与客户端进行通信。
通过这样的手段,便可以获取客户端和服务器之间通信的所有内容。
使用中间人攻击手段,必须要让客户端信任中间人的证书,如果客户端不信任,则这种攻击手段也无法发挥作用。
中间人攻击的预防:
造成中间人劫持的原因是:没有对服务端证书及域名做校验,或者校验不完整,导致把中间人的证书也认为是服务端的证书。okhttp,volley等http框架都有证书及域名校验机制。
fiddler能解密https的原理
是因为设置了信任fiddler的证书:
Tools—–> options—–>https—–>capture https traffic—->decrypt https traffic—>Ignore server certificate errors—->Actions—–>Trust root certificate—->之后都是确定
安装根证书后,可以点击Actions—–>open windows certificate manager查看安装到系统的根证书:
如果不设置这些选项,那么电脑就不会信任fiddler的证书,fiddler就不能解密https请求。
参考:
fiddler使用
HTTPS连接过程以及中间人攻击劫持
本文标签: encryptedtunnelconnectflowstraffic
版权声明:本文标题:This is a CONNECT tunnel, through which encrypted HTTPS traffic flows. 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1725805806a1044013.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论