【爬虫】charles手机抓包环境设置(设置系统证书)

1.说明

想要对手机抓包,最关键的是需要设置好根证书,用户证书在安卓7.0之后就不受信任了,想要对手机app抓包,就需要把用户证书设置为系统证书(根证书)

注意,想要设置为根证书,你的安卓需要获取到root权限,但是root会有风险,很大app(如银行类app)都不能在已root的设备上运行,所以一般推荐使用模拟器操作,此处以雷电模拟器9和charles为例进行演示

2.charles设置

设置ssl抓包类型,菜单栏Proxy--SSL Proxy Settings,勾选"Enable SSL Proxying",新增一个类型,IP端口都设置为"*"(表示全部)

设置远程端口,菜单栏Proxy--Proxy Settings,Http Proxy这里设置一个端口号,例如8888,勾选下面两个传输类型

查看远程安装证书信息,点击菜单栏Help--SSL Proxying--Install Charles Root Certificate on a Mobile Device or Remote Browser,它弹出一个窗口,显示本机代理的IP端口(我这里是10.10.66.1:8888),以及证书下载URL(chls.pro/ssl

3.模拟器设置

打开模拟器的设置页面,找到root选项把它开启,大多数模拟器都支持root,都是在设置界面可以打开root开关,如果有写入设置也需要开启

打开系统设置,找到WLAN设置,然后把点击当前网络右上角的编辑按钮,把代理设置为Charles帮助信息显示的IP端口即可

4.设置用户证书

打开系统自带的浏览器,它会弹出证书不受信任的问题,不管它,一路点击"继续"知道不弹出提示。现在访问一下chls.pro/ssl,此时Charles那边应该会有一个确认按钮,确认之后模拟器就会下载证书,下载完完成之后点击安装,模拟器会提醒设置一个锁屏(图案或pin都可以),这时候就可以安装证书了,证书名可以随便写

5.设置系统证书

现在设置的是用户证书,在安卓7之后app是不信任用户证书的,所以我们还需要把它设置为系统证书,其实就是把这个证书文件复制到系统证书目录里就行

用户证书目录:/data/misc/user/0/cacerts-added/

系统证书目录:/system/etc/security/cacerts/

这个操作很容易,只要获取到root权限就行,你可以直接在文件管理器里把系统证书复制到用户证书的文件夹里,证书是一个.0结尾的文件,我这里是ca499da3.0,如果以前没有安装过用户证书,那用户证书文件夹里只有一个文件,很好找到的

如果你有adb,也可以使用adb的shell操作

shell 复制代码
adb devices
adb shell
su
mount -o remount,rw /system
cp /data/misc/user/0/cacerts-added/ca499da3.0 /system/etc/security/cacerts/

另外我们可以发现,其实证书文件的文件名就是一个哈希值,你也可以直接从charles导出证书,然后复制到安卓的证书文件夹里就行,但这种做法前提是你能使用openssl

首先,导出Charles证书文件(pem格式)

然后使用openssl生成哈希(证书文件名)

shell 复制代码
openssl x509 -subject_hash_old -in 证书文件路径

之后把Charles证书文件改名为哈希.0,最后使用adb把它push到对应的证书文件夹里即可

相关推荐
HinsCoder23 分钟前
【渗透测试】——Upload靶场实战(1-5关)
笔记·学习·安全·web安全·渗透测试·测试·upload靶场
newxtc1 小时前
【天怡AI-注册安全分析报告-无验证方式导致安全隐患】
人工智能·安全
网安康sir2 小时前
2024年三个月自学手册 网络安全(黑客技术)
网络·安全·web安全
iSee8573 小时前
imo云办公室 Imo_DownLoadUI.php 任意文件下载漏洞复现
安全
不会代码的小徐3 小时前
Django SQL注入-漏洞分析
安全·网络安全
专家大圣3 小时前
云原生信息安全:筑牢数字化时代的安全防线
安全·云原生
Coremail邮件安全5 小时前
寻呼机爆炸,炸醒通讯安全警惕心
安全·网络安全·邮件安全·国产信创
FreeBuf_5 小时前
Dependency Check:一款针对应用程序依赖组件的安全检测工具
安全
网智圈--一起AI赋能网络5 小时前
从黎巴嫩电子通信设备爆炸看如何防范网络电子袭击
安全·黎巴嫩电子袭击·bp机爆炸·对讲机爆炸·通信终端风险·网络智能化