Charles HTTPS实践

Posted by PaysonChen on October 7, 2023

Charles HTTPS 实践

1、背景

在构建充电桩能力的需求背景下,需要对竞品数据进行收集评估,以前是通过截图+ocr方案进行数据收集,效率低下无法满足数据更新的及时性,现在需要采用更加高效的方式

2、方案选择

咨询之前做过类似工作的测试团队,无法给到比较可靠的方案,一开始选择逆向方案,通过移动端组内评估,以及咨询业内的安全工程师,逆向方案 ,代价较高,且暂无这方面的能力储备,风险不可控。

于是我们认为可以尝试抓包某地图App的方式,验证可行性

3、抓包

wireshark上抓包无法(难度较高)解析https协议

采用Charles 抓包:

3.1、代理搭建

打开Charles,在顶部状态栏选择:help->Local IP Address

local_IP

获取到代理机在局域网的ip

local_IP2

在设备上(iPhone)手动设置代理:

device

代理设置为上述代理机器的ip + 端口号8888

device2

3.2、安装证书

在顶部状态栏 help->SSL Proxying->Install Charles Root Certification on a Mobile Device or Remote Broswer:

ssl_cert

ssl_cert2

通过设备访问:chls.pro/ssl

下载地址,然后在设置->通用->关于->证书信任 安装/信任证书,并打开证书的开关

device3

3.3、报文解析

设置好上述说明后,针对所需要抓取的域名的https报文进行解析:

顶部状态栏 Proxy-> SSL Proxying Settings

ssl_proxy

添加域名和端口号(端口号为443):

ssl_proxy2

打开某地图app,搜索相关关键字,得到的结果再Charles查看:

data