1. 证书双向验证抓包

此处以soal app为例

首先需要下载soul app,然后安装


1.1. 先尝试一下是不是单向验证+SSL pinning来防止抓包的

1.1.1. 方法一:Xposed加载JustTrustMe模块

image-20201225133110322

1.1.2. 方法二:使用frida的ssl_pinning的js模块

frida -U -l ssl_unpinning.js -f cn.soulapp.android
# 注意 -f 后面接的是 package name,从设备中读取的

image-20201225155705540

1.1.3. 打开soul app,抓包

提示 400 No required SSL certificate was sent,说明是证书双向验证的

image-20201225133430087

1.2. 双向验证抓包开始

1.2.1. 直接解压apk

image-20201225134307854

1.2.2. 找一下证书

如果服务器端会对客户端证书进行校验, 证书应该就直接存放在apk里

证书一般放到目录 /asset 或者 /res/raw 目录下的,如果没找到,可以用 find 找一下后缀为 .cer .p12 .pfx 的文件

image-20201225134619062

这里找到证书为 client.p12

1.2.3. 找一下证书密码

在我们要使用该证书的时候, 需要输入安装证书的密码。

找到p12证书的话,可以通过这个证书+密码转换成本机安装的证书格式,比如cer。

反编译分析啥的太麻烦了,不太会,所以还是用frida吧

frida -U -l tracer_keystore.js -f cn.soulapp.android

image-20201225155955145

1.2.4. 本地安装并信任证书

image-20201225171853149

1.2.5. burp添加p12证书

  • 打开Burp --> User Options-->Client SSL Certificates --> Add -->Host设置前面返回400的地址,证书类型选 PKCS#12

image-20201225172207578

  • 选择刚才看到的p12证书,然后输入frida提取到的密码。

image-20201225172432261

1.3. 验证

再次抓包,可见能成功抓取到https的包。

image-20201225172802399

Copyright © d4m1ts 2022 all right reserved,powered by Gitbook该文章修订时间: 2021-11-17 08:42:00

results matching ""

    No results matching ""