本文章仅供学习和研究使用,严禁使用该文章内容对互联网其他应用进行非法操作,若将其用于非法目的,所造成的后果由您自行承担。
由于安卓7开始对系统安全性做了些改动,导致应用程序不再信任客户端证书,除非应用程序明确启用此功能。所以我们抓取https流量包时会出现证书失效、加密、无法访问等问题。下面记录一下解决方法。
证书信任
简单来说,就是把用户的证书导入到系统证书目录,使证书成为系统信任证书。
工具准备:
- 模拟器
- OpenSSL
- adb
首先安装OpenSSL,此步骤不再赘述,可以参考网页。
然后安装模拟器(我使用的是夜神模拟器)。
记得开启模拟器的ROOT权限:
导出需要的证书:
使用openssl进行证书转换:
将cer后缀的证书转换为pem后缀
openssl x509 -inform DER -in cacer.der -out cacert.pem
查看hash(两条名字分别对应不同的openssl版本,自己选择)
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
openssl x509 -inform PEM -subject_hash -in cacert.pem
把文件名字改为9a5ba575.0。
证书安装
然后打开adb,夜神模拟器自带,如果没有可以自己下载一个:
将证书复制到安卓目录下:
adb push C:\Users\admin\Desktop\9a5ba575.0 /sdcard/
进入adb shell 进入root权限,输入mount -o remount -o rw /或者mount -o remount -o rw /system。
把证书复制到系统证书目录,然后赋权。
cp /sdcard/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0
然后重启即可。
问题解决
如果出现报错,把命令mount -o remount -o rw /替换为mount -o remount -o rw /system即可。
抓包
电脑端抓微信小程序的包,首先设置电脑代理,和burp代理一致。
然后微信随意打开一个小程序,打开任务管理器查看小程序的文件位置:
把微信和小程序关闭,然后删除WMPFRuntime包内的所有文件。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取