Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据

一、背景

在使用fiddler做代理抓取应用数据包时,如果要抓取到HTTPS数据,需要将fiddler证书导入到浏览器或手机。
浏览器或手机设置好fiddler的代理地址,即可抓取到https数据包。

如果APP应用采用证书锁定后,将无法抓取到https数据,因为此时APP应用校验证书不通过,通常APP应用会断开网络连接,防止网络传输数据被抓取。

自从android 7.0之后xposed的开发者rovo89基本就不维护了,针对android 8.0的版本草草发布了一个测试版本撒手不管了。

现在越来越多的新机型出厂就是android 9.0系统,那么怎么才能继续使用xposed框架呢?

xposed虽然死了,但是还有后来的Edxposed框架,Edxposed全称 Elder driver Xposed Framework,简称edxp。

Edxposed框架现在支持android 8.0 -android 9.0 ,如果是android 7.0或更早的版本,推荐使用xposed框架。
 

二、证书锁定

证书锁定(CertificatePinningSSL Pinning),即HTTPS的证书校验。HTTPS库在接收到证书以后,对证书进行校验,确保其跟自己保存的本地证书或硬编码数据相同,才可放行。否则视为被中间人监听,拒绝通信。

三、绕过证书锁定

绕过证书锁定,可使用xposed框架下的两大神器来突破证书锁定。使用JustTruestMe就可以绕过证书锁定。
前提是手机已ROOT并且安装好xposed框架
 

四、Magisk手机ROOT

https://github.com/topjohnwu/Magisk/releases

版本:Magisk-v25.2.apk

教程:https://blog.csdn.net/u014644574/article/details/123501668

5、安装Riru

https://github.com/RikkaApps/Riru/releases

版本:riru-v25.4.4-release.zip

复制zip文件到手机,在 Magisk 模块界面点击从本地安装,选择 zip 模块文件,安装后重启手机。

6、安装EdXposed框架

https://github.com/ElderDrivers/EdXposed/releases

版本:EdXposed-v0.5.2.2_4683-master-release.zip

复制zip文件到手机,在 Magisk 模块界面点击从本地安装,选择 zip 模块文件,安装后重启手机。

7、安装EdXposedManager

https://github.com/ElderDrivers/EdXposedManager/releases

版本:EdXposedManager-4.6.2-46200-org.meowcat.edxposed.manager-release.apk

Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第1张图片

 8、安装TrustMeAlready

https://github.com/Fuzion24/JustTrustMe/releases

版本:JustTrustMe.apk

我测试时使用 JustTrustMe 并没有成功,使用 TrustMeAlready 后成功。

https://github.com/ViRb3/TrustMeAlready/releases

版本:TrustMeAlready-v1.11-release.apk

安装好TrustMeAlready后,打开EdXposedManager的模块,勾选启用TrustMeAlready

Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第2张图片

大部分的app都可以用此方法解决ssl-pinning检测,不过有少部分app可能依然抓不到,需要专门去逆向app找ssl-pinning逻辑并解决。

9、测试代码后端源码

https://gitee.com/gloweds/myhttps

    //https请求:https://192.168.137.1:8443/hello?name=123
    @GetMapping("/hello")
    public String hello(String name) {
        return name;
    }

该代码涉及到的ip需要替换成自己的ip地址,该代码使用的https单向验证。

测试发现,当信任所有证书,https变得毫无意义,中间人可以随意抓取数据。

10、测试代码移动端源码

https://gitee.com/gloweds/httpsapp

打包后app:https://gitee.com/gloweds/httpsapp/raw/master/app/release/app-release.apk

Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第3张图片

测试时,将ip地址改成自己的ip,点击https按钮就行了。

11、fiddler配置

Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第4张图片 Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第5张图片

 12、手机配置

1、wifi配置

 手机与电脑连接同一wifi,或者手机连接电脑热点。我这里手机连接的电脑热点。

Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第6张图片 Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第7张图片

 2、证书下载

 手机浏览器输入上面的配置的地址:http://192.168.137.1:8888

Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第8张图片 Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第9张图片

 小米手机在,设置 》密码、隐私与安全 》 系统安全 》加密与凭据 》信任的凭据

Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第10张图片

 若要删除fiddler证书:
小米手机在,设置 》密码、隐私与安全 》 系统安全 》加密与凭据 》信任的凭据 》用户凭据

Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第11张图片

抓包成功

Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据_第12张图片

涉及到的安装包,打包下载

https://download.csdn.net/download/u014644574/87149375

你可能感兴趣的:(ssl,https,服务器)