iOS逆向----破解HTTPS双向认证

最近在搞某个APP,这个APP做了HTTPS证书的双向校验,导致抓包失败,服务器报错400 No required SSL certificate was sent:
在这里插入图片描述

其实破解双向认证很容易,具体思路如下:

首先既然要做双向认证,那么客户端一定会存一个证书文件,要么是p12,要么是cer,要么是pfx等等等。。而且这个证书一定是有密码保护的。这个密码如果不是123456的话,那么就要进入下一步,逆向分析。

从IPA包中抓到的证书文件:
在这里插入图片描述
由于知道了证书的名称,那么我们直接在IDA中搜这个文件的名字:
在这里插入图片描述

然后跟踪发现,证书名跟密码是连在一起的,所以我们很轻易的就拿到了证书的密码xxxxx:
在这里插入图片描述

打开抓包软件,我用的是Charles,配置证书:
Proxy->SSL Proxying Settings->Client Certificates
点击Add:
在这里插入图片描述
点击choose选择证书:
在这里插入图片描述
注意,这里选择证书的时候不会让你输入密码,输入密码是在抓到了该域名的包之后才要求你输入的 ,所以域名一定要填对,就像这样:
在这里插入图片描述
抓到包之后会提示输入密码:
在这里插入图片描述

输入之后如果这次抓到包还是报错,那么需要重启APP,再抓一次,或者检查这个域名有没有在上面的列表里,下图是配置成功后,可以看到抓包成功了:
在这里插入图片描述

发布了249 篇原创文章 · 获赞 926 · 访问量 149万+

猜你喜欢

转载自blog.csdn.net/youshaoduo/article/details/90900483
今日推荐