突破iOS App双向认证抓包

1.判断证书双向认证

通过正常途径抓包,burp Suite无任何数据包,第一反应可能是做了双向认证,尝试wireshark抓取也无果,然后尝试SSL Pinning防止中间人拦截攻击,然后开启了ssl-kill-switch2后发现该APP所有的响应包返回 400 No required SSLcertificate was sent的报错信息。

Image

该app直接封装了客户端的证书,相比于单项认证,无非就是多了一个服务器端验证客户端证书的过程,而在以往的用代理工具,如:burp Suite这类工具,抓取https的包时,除了浏览器获取的是代理工具的证书外,默认是不发送证书给服务器端的。burp Suite在抓取https报文的过程中也提供了双向认证的证书发送,但是是使用了burp Suite提供的证书文件,也就是CA证书。app的服务端不认证这个burp Suite提供的CA证书,那么我们就需要拿到匹配的证书,以其对服务端进行匹配。

确定该APP是证书双向认证,那么APP客户端一定会存一个证书文件。该APP解压并进入payload目录,发现有证书文件。

Image

2.获取安装证书密码

首先对其APP进行砸壳,完成后我们解压缩然后使用IDA加载二进制文件。

其次对该APP解压并进入payload目录,分析二进制文件从这里可以看到证书调用方式

扫描二维码关注公众号,回复: 13196309 查看本文章

Image

DCB"20201023@pki",0  就是证书密码,可以直接安装

3.burp添加客户端证书

host填写app服务端的主域名,随后选择app客户端内的证书文件,并输入安装密码。

Image

证书成功导入,勾选即可使用。

Image

发现可以正常抓包

Image

图片

猜你喜欢

转载自blog.csdn.net/u011426115/article/details/120445399