使用 Charles 解决部分App无法上网的问题(SSL Pinning)

网络连接异常
设置好 Charles 代理之后发现打开目标 App debug 的时候弹窗“网络异常”提醒,测试 Safari 正常和其他 App 发现大部分都可以打开。

Google之后发现这是因为该 App 使用了SSL Pinning 的原因。SSL Pinning 意味着 App 拷贝了一份服务器的公钥在本地,在进行网络连接的时候使用了本地的公钥进行加密了。由于 Charles 的密钥无法匹配导致拒接网络访问。

那么有没有什么办法可以突破这种限制呢?

1、其中一种思路是使本地的证书失效

2、另外一种是 SSL 剥离,过渡阶段的时候同个域名服务器一般都会有 http 和 https 两种请求方式,那么是否可以通过拦截https请求,然后修改为http呢?

3、越狱插件(nabla-c0d3/ssl-kill-switch2 )
蚂蚁源可以找到这个插件:apt.cydia.love ,安装完成之后在设置栏会多出一栏设置,在里面打开开关就可以了。

网上找了一下,发现已经有人做了这方面的调研了,这里就直接记录下资源的集合就好了。

如何对使用了ssl pinning的APP(如知乎)进行抓包?
破解https的SSL Pinning(Android)

另外这里有一篇介绍关于 Charles 使用的文章,raywenderlich 出品,感觉不错,可以看一下。

Charles Proxy Tutorial for iOS

发布了171 篇原创文章 · 获赞 333 · 访问量 141万+

猜你喜欢

转载自blog.csdn.net/chaoyuan899/article/details/102679246
今日推荐