前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >移动开发抓包方案

移动开发抓包方案

原创
作者头像
xiangzhihong
修改2021-01-25 18:08:14
1K0
修改2021-01-25 18:08:14
举报
文章被收录于专栏:向治洪向治洪

在移动应用开发过程中,我们会使用Charles和Fiddler进行抓包。通常要抓取HTTPS加密的数据包,一般使用Charles或者Fiddler4代理HTTP请求,配置证书信任后,便可拿到明文报文。但是由于Charles证书和Fiddler证书并非证书机构颁发的目标站点的合法证书,所以会不被信任。要解决这个问题,我们需要使用到Xposed+JustTrustMe工具来关闭SSL验证。

一、 Charles使用

1.1 配置Charles

打开Charles,然后点击【Proxy】 -->取消勾选 【windows proxy 】,如下图。

在这里插入图片描述
在这里插入图片描述

1.2 代理https并添加证书

点击【Proxy】-->【SSL Proxy Settings】弹出SSL代理设置界面 。

在这里插入图片描述
在这里插入图片描述

然后,选中【Client Certificates】添加域名的证书,如下图。

在这里插入图片描述
在这里插入图片描述

然后,选择 【Help】--> 【ssl proxy 】->【 Install Charles Root Certificate】,

在这里插入图片描述
在这里插入图片描述

安装完成之后,再选择【Install Charles Root Certificate on a Moblie Device or Remote Browser】,如下图所示。

在这里插入图片描述
在这里插入图片描述

接下来,打开手机中的wifi设置,将电脑和手机连接在同一个wifi环境下,在手机端中修改当前wifi设置,将代理选择手动,服务器主机名填入域名,服务器端口输入8888即可。然后,打开浏览器输入【chls.pro/ssl】回车会进入charles证书下载,加载之后是一个.pem文件,需要重命名更成成.crt后缀,这是手机端的证书安装包,直接打开安装即可.

正常来说,步骤到这就算完成了。但是如果手机是安卓7以后的版本,就会失败 一直是“unknow”,这是因为应用程序不再信任用户或管理员添加的CA用于安全连接。对于这种问题,我们需要在Android应用程序中添加ssl信任配置。

打开Android应用的Mainfest.xml文件,添加如下内容。

代码语言:txt
复制
  <application
       ...
        android:networkSecurityConfig="@xml/network_security_config" >

然后,新建network_security_config.xml文件,添加如下脚本。

代码语言:txt
复制
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
    <domain-config>
        <domain includeSubdomains="true">api.xj.mydeertrip.com</domain>//需要抓包的域名
        <trust-anchors>
            <certificates src="@raw/charles"/>//手机中下载的.pem格式证书文件 名称 
        </trust-anchors>
    </domain-config>
</network-security-config>

其中,charles是.pem文件名,就是手机中下载的.pem证书文件放入工程的res/raw文件夹中即可。

二、 Burp Suite

2.1 安装Burp Suite

2.1.1 下载Burp Suite

如果还没有下载Burp Suite,可以使用下面的地址下载Burp Suite下载链接。然后,我们下载macOS Burpsuite注册机,解压注册机和汉化包,在终端中打开 BP 程序内置的 JAVA 文件路径。

代码语言:txt
复制
cd /Applications/Burp\ Suite\ Professional.app/Contents/java/app && open .

然后,将我们下载的macOS Burpsuite.zip的解压内容拷贝进去,如下图所示。

在这里插入图片描述
在这里插入图片描述

2.1.2 自定义启动参数

然后,我们使用如下的命令打开vmoptions.txt文件自定义启动参数。

代码语言:txt
复制
open /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txt

默认情况下的启动配置如下。

代码语言:txt
复制
-noverify
-javaagent:BurpSuiteLoader.jar
-XX:MaxRAMPercentage=50
-include-options user.vmoptions

然后我们,修改为如下的形式。

代码语言:txt
复制
-noverify
-javaagent:BurpSuiteLoader.jar
-javaagent:BurpSuiteCn.jar
-Dfile.encoding=utf-8
-XX:MaxRAMPercentage=50
-include-options user.vmoptions

选择自己想要的启动方式保存并退出,如下所示。

在这里插入图片描述
在这里插入图片描述

2.1.3 激活 Burpsuite

如果之前你没有激活过 Burpsuite 的话,那么第一次可能需要提示输入许可证秘钥,运行如下命令打开注册机。

代码语言:txt
复制
chmod +x /Applications/Burp\ Suite\ Professional.app/Contents/java/app/license_key.sh && sh /Applications/Burp\ Suite\ Professional.app/Contents/java/app/license_key.sh

首先将注册机的【License】复制粘贴到 BP 的许可证秘钥框中,然后点击【下一步】,如下图所示。

在这里插入图片描述
在这里插入图片描述

接着点击【手动激活】,如下图所示。

在这里插入图片描述
在这里插入图片描述

点击注册机里面的【辅助请求】按钮,将信息粘贴到注册机中的 【Activation Request】中,此时注册机会在【Activation Response】生成返回信息,然后将这个返回信息粘贴到 BP 中,点击【粘贴响应】按钮即可,最后点击【下一个】即可。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动成功后,页面大概是下面这样子的。

在这里插入图片描述
在这里插入图片描述

参考文档链接:Burpsuite安装与激活

Xposed+JustTrustMe使用

首先,下载Xposed+JustTrustMe和安卓模拟器(如夜神、网易木木Android模拟器)。然后我们在Android模拟器上安装刚才下载的Xposed和JustTrustMe。

在这里插入图片描述
在这里插入图片描述

为了防止在真机上手机变砖的问题,我们在模拟器上进行实验。安装Xposed,初始化界面会有一些警告。

在这里插入图片描述
在这里插入图片描述

安装的时候请确保模拟器已经Root。

在这里插入图片描述
在这里插入图片描述

重启后打开Xposed发现激活成功,如下图所示。

在这里插入图片描述
在这里插入图片描述

点击桌面的左上角,然后点击模块,勾选JustTrustME重启手机开启JustTrustME。

在这里插入图片描述
在这里插入图片描述

最后,在客户端安装HTTPS安全证书即可。

参考:

Fiddler+夜神模拟器+xposed+justTrustMe手机抓包

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、 Charles使用
    • 1.1 配置Charles
      • 1.2 代理https并添加证书
      • 二、 Burp Suite
        • 2.1 安装Burp Suite
          • 2.1.1 下载Burp Suite
          • 2.1.2 自定义启动参数
          • 2.1.3 激活 Burpsuite
        • Xposed+JustTrustMe使用
        相关产品与服务
        云开发 CloudBase
        云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档