赞
踩
设置好 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 出品,感觉不错,可以看一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。