1 前言
这篇文章主要想解决的问题是,在对安卓手机APP抓包时,出现的HTTPS报文通过MITM代理后证书不被信任的问题。(工作中在抓取12306请求时就遇到了这个问题)
之前的推送讲过,通常要抓取HTTPS加密的数据包,一般使用Charles或者Fiddler4代理HTTP请求,配置证书信任后,便可拿到明文报文。但是由于Charles证书和Fiddler证书并非证书机构颁发的目标站点的合法证书,所以会不被信任。同样的道理,之前说过的神器Packet Capture也存在该问题。
对使用Charles等工具进行中间人代理抓取HTTPS请求不会的请看之前的推送:
阅读下文来解决这个问题。
2 解决方案
要解决这个问题要使用的工具是:Xposed+JustTrustMe
(安卓手机需要Root,该方法有手机变砖风险,建议在模拟器下操作)
XposedInstaller(xposed框架)是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。
JustTrustMe是Github上的一个开源工程,他是一个Xposed模块,用来禁止SSL证书验证。以下是其简介。
JustTrustMe:An xposed module that disables SSL certificate checking. This is useful for auditing an appplication which does certificate pinning.
Xposed安装器下载地址: https://pan.baidu.com/s/1dEToAvJ 密码:uiu8
JustTrustMe Relese版本下载地址:https://github.com/Fuzion24/JustTrustMe/releases
以下是安装步骤:
1 安装Xposed安装器
2 安装Xposed框架
安装过程需要Root权限,完成后重启。
3 安装JustTrustMe
4 安装完成后打开模块选项
勾选JustTrustMe,重启即可。
至此,完成配置,再加上之前的Charles或者Fiddler4的HTTPS配置,就能抓取HTTPS请求了。
3 最后
最后再强调一次,安装Xposed是有风险的,请尽量在模拟器中操作。
文中的Xposed下载链接主要是针对于安卓5.0以下的机器,是在夜神模拟器安卓4.4版本测试通过,其他版本使用大同小异,请自行查找合适版本安装使用。
你可能感兴趣的文章:
以上。
如有问题,请关注公众号回复【作者】获取我的联系方式。
想了解更多技术分享,请长按识别下方二维码关注我吧。