在 HTTPS 请求时,Server 端发给客户端的公钥证书必须与 Client 端内置的公钥证书一致,请求才会成功。 在这种情况下,由于 MITM Server 创建的公钥证书和 Client 端内置的公钥证书不一致,MITM Server 就无法伪装成真正的 Server 了。这时,抓包就表现为 App 网络错误。已知的知名应用,比如饿了么,就采用了证书固定。
再就是双向认证,广义上的 HTTPS,通常只做了客户端验证服务端,实际上 HTTPS 是可以做到双向验证的,针对双向验证的 App,可使用 HttpCanary 导入证书,并通过逆向的手段拿到私钥进行破解抓包。
4.点击添加应用,选择需要抓包的软件安装: 5.配置 Charles 抓包 6.回到 VirtualXposed 上滑解锁,打开我们之前安装的企业微信,则发现 charles 已经成功抓取到钉钉的 HTTPS 的数据包
对比很容易发现,在 Android 7.0(API 24)到 Android 8.1(API 27),默认不再信任用户添加的 CA 证书,所以也就不再信任 Charles 和 Fiddler 抓包工具的证书,所以抓取 HTTPS 包时才会失败。而且在 Android 9.0(API 28)及更高版本上,不仅默认只系统预装的 CA 证书,还默认禁止所有明文通信(不允许 http 请求)。 解...
网络请求抓包是研发过程中常见问题,无论是开发时的接口调试,还是测试时的数据检验,都有网络抓包的需求。随着 HTTPS 协议的推广以及手机系统安全性的升级,抓包的门槛可能会逐渐变高; 在这篇文章里,我将带你从原理到实战全面认识 HTTPS 抓包,既理解 HTTPS 抓包背后的实现原理,又掌握市面上已有的抓包方案。对于一些方...
网络请求抓包是研发过程中常见问题,无论是开发时的接口调试,还是测试时的数据检验,都有网络抓包的需求。随着 HTTPS 协议的推广以及手机系统安全性的升级,抓包的门槛可能会逐渐变高; 在这篇文章里,我将带你从原理到实战全面认识 HTTPS 抓包,既理解 HTTPS 抓包背后的实现原理,又掌握市面上已有的抓包方案。对于一些方...
更多HttpCanary 的资料,请见:github: https://github.com/MegatronKing/HttpCanary。 一、抓包原理 几乎所有网络数据的抓包,都是采用中间人的方式(MITM),包括大家常用的 Fiddler、Charles 等知名抓包工具,HttpCanary 同样是使用中间人的方式进行抓包。 从上面这个原理图,可以看出抓包的核心问题主要是两个: ...
Android 7+使用Charles抓取https包-unknow 现象 Android 7+使用Charles抓包,之前因为一直使用http访问一直无阻访问,后来统一推https测试说Charles不能正常抓包,Charles抓到接口状态为Unknow,开始以为是证书有问题,我将PC证书删除重新信任,如果你直接安装时会提示证书不可信任,需要将证书save导入到信任列表中,手机端删除证书...
网络请求抓包是研发过程中常见问题,无论是开发时的接口调试,还是测试时的数据检验,都有网络抓包的需求。随着 HTTPS 协议的推广以及手机系统安全性的升级,抓包的门槛可能会逐渐变高。 在这篇文章里,我将带你从原理到实战全面认识 HTTPS 抓包,既理解 HTTPS 抓包背后的实现原理,又掌握市面上已有的抓包方案。对于一些方...
Https流程图如下 2.2 抓包核心原理 HTTPS抓包原理 Fiddler、Charles等抓包工具,其实都是采用了中间人攻击的方案: 将客户端的网络流量代理到MITM(中间人)主机,再通过一系列的面板或工具将网络请求结构化地呈现出来。 抓包Https有两个突破点 CA证书校验是否合法;数据传递过程中的加密和解密。如果是要抓包,则需要突破...