See You Again

配置Fiddler抓取https协议包

有时候想通过wireshark抓https的协议包, 如果能拿到服务器证书私钥的话,可以直接导入到 wireshark 中解密SSL协议层。但大多数情况我们是没有私钥信息的,这时可以借助 Fiddler 来实现。

Fiddler本质上是运行了一个HTTP代理服务,原理可以参考这张图:

我们需要把 Fiddler 配置成一个中间人的角色,主要是HTTPS证书的配置,详细参考官方文档

小米手机有点麻烦,有两步操作:

  1. 设置-更多应用-点击右上角,显示显示所有应用,启用 “文件”
  2. 设置-WLAN-高级设置-安装证书,选择下载的cer文件即可

iPhone手机:

  1. 通用-关于本机-证书信任设置-针对根证书启用完全信任

这里也顺带了解一下 HTTPS 的原理,以常见的 RSA + AES 为例:
https

根据 Fiddler 官方介绍,其安全测试的主要技术是所谓的“中间人攻击”:

Decrypt HTTPS traffic and display and modify web application requests using a man-in-the-middle decryption technique.

所以配置了代理后的 HTTPS 流程就变成了:
MITM
因为客户端会校验证书的合法性,所以要配置被抓包的客户端信任Fiddler的根证书,配置了代理后,发现颁发证书的机构确实变了:
cert

最后留几个问题,帮助我们更好的理解 HTTPS:

客户端如何检查证书的有效性?

答:浏览器会内置若干证书颁发机构,证书在颁发的时候会经过私钥签名,用公钥去验签以确认是否被篡改过。一般还会检查是否过期、是否权威等等。

在Fiddler篡改响应内容?

待后续实践

为什么要引入对称加密方案?全部用非对称加密不行吗?

答:对称加密容易泄露秘钥,非对称加密安全性更高,但是加解密时间更长,速度慢

如何防范“中间人攻击”

答:待补充

2018-06-11 喜欢

Copyright © 2015-2018 转载请注明出处

回到顶部 ↑