Android 8.1 导入Burp、Fiddler证书
Android从7.0过后,默认不在信任用户导入的证书文件,以至于在数据抓包的时候,不能正确抓取HTTPS的数据包。
一、安装 Burp 证书
- 获取证书
挂上代理后,访问 https://burp 下载证书,即 cacert.der。
- 将证书转换为移动设备用户凭据文件(Ubuntu 16.04)
# 转换为 *.pem 文件
root@cj:~# openssl x509 -inform DER -in cacert.der -out cacert.pem
# 回显某一 hash 值
root@cj:~# openssl x509 -inform PEM -subject_hash_old -in cacert.pem |head -1
9a5ba575
# 将 *.pem 重命名为 <hash>.0
root@cj:~# mv cacert.pem 9a5ba575.0
- 安装证书(手机已Root)
# 将 <hash>.0 传到手机
adb push 9a5ba575.0 /sdcard/
# adb连接至设备
adb shell
# shell获取root权限
su
# 系统重新挂载
mount -o rw,remount /
mount -o rw,remount /system
# 复制 <hash>.0
cp /sdcard/9a5ba575.0 /system/etc/security/cacerts/
# 授权,644 rw-r--r--,本用户有可读可写权限,群组有只读权限,其他用户为只读权限。
chmod 644 /system/etc/security/cacerts/9a5ba575.0
# 重启手机
reboot
- 验证
设置->安全性和位置信息->加密与凭据->信任的凭据(显示信任的CA证书)->系统->PortSwigger
二、安装 Fiddler 证书
1.获取证书
两种方式:
1) 挂上代理 http://<本机ip>:8888 下载证书,点击 FiddlerRoot certificate 进行下载,即 FiddlerRoot.cer。
2)Fiddler->Tools->HTTPS->Actions->Export Root Certificate to Desktop,将 FiddlerRoot.cer证书导出至桌面。
- 将证书转换为移动设备用户凭据文件(Ubuntu 16.04)
root@cj:~# openssl x509 -inform DER -in FiddlerRoot.cer -out F.pem
root@cj:~# openssl x509 -inform PEM -subject_hash_old -in F.pem |head -1
269953fb
root@cj:~# mv F.pem 269953fb.0
- 安装证书(手机已Root)
adb push 269953fb.0 /sdcard/
adb shell
su
mount -o rw,remount /
mount -o rw,remount /system
cp /sdcard/269953fb.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/269953fb.0
reboot
- 验证
设置->安全性和位置信息->加密与凭据->信任的凭据(显示信任的CA证书)->系统->DO_NOT_TRUST_FiddlerRoot
- 抓包配置
Fiddler->Tools->Connecttions->Allow remote computers to conect