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