1.起因
第一次测试app,按照正常的流程将BurpSuite生成的证书导入到夜神模拟器中,但打开app开始抓包时显示证书验证失败,当时也是一脸懵逼,此篇文章也是记录一下遇到的问题。

思路:

1 、使用openssl将der证书转为pem证书,生成pem证书的hash,再生成要使用的证书。

2 、使用adb调试功能,将证书放到系统证书目录中。

本次使用环境:夜神模拟器、BurpSuite证书、Kali系统、mac系统

2.详情
一般情况下手机在安装了BurpSuite的伪证书后,是可以抓大部分APP数据包的,但APP在安卓7.0或更高的系统下,无法抓取数据包,是因为安卓从7.0开始应用只会信任系统预装的CA证书,而不会信任用户安装的CA证书。这种的情况下,一个解决方法就是使用低于7.0版本的安卓系统进行抓包,另一个就是把使用的伪证书安装到系统证书目录中,伪装成系统证书。

3.解决办法
先将BurpSuite证书导出:以下两种方法均可,通过浏览器访问http://burp下载证书,或者直接导出证书。


打开Kali终端,将der证书转为pem证书:

openssl x509 -inform der -in cacert.der -out cacert.pem

生成pem证书的hash:

openssl x509 -inform PEM -subject_hash_old -in cacert.pem

重命名/生成证书:

cp cacert.pem 9a5ba575.0

得到Hash值后,将证书文件修改名称为Hash值.0,之后用adb工具push到测试设备,或者文件管理器等其他方式上传到设备的/system/etc/security/cacerts/目录下即可。

夜神模拟器中自带adb工具(mac系统)

adb root // 提升到root权限```

adb remount //重新挂载system分区

adb push 9a5ba575.0 /system/etc/security/cacerts/ //将证书放到系统证书目录

版权声明:本文为CSDN博主「一笼管汤包」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45495060/article/details/127120219