微信小程序抓不到包?解决方法来了

起因

公司业务需要,要对一个小程序进行测试,但是测试期间通过夜神模拟器登陆打开小程序,发现无论如何都burp抓不到目标小程序的请求包,只能获取到几个系统自己的请求包,所以便对这个抓包问题折腾了一下。

问题原因
因为高版本的安卓和微信不再信任系统的证书,安卓7之后对证书的策略进行变更,这会造成无法抓包的情况,所以需要把我们的burp证书变为安卓系统证书,从而让操作系统信任。

环境准备

所需软件:adb,burp,夜神模拟器(其他模拟器同理),openssl。

一:系统证书生成
浏览器挂上burp代理,访问http://burp/ 下载burp证书。

执行命令:

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

会输出一个hash串,然后重命名证书。

openssl x509 -inform PEM -subject_hash_old -in PortSwiggerCA.pem|head -1

mv PortSwiggerCA.pem 9a5ba575.0

安卓系统格式的证书已经准备好了,接下来配置模拟器。

模拟器配置

配置为夜神模拟器安卓7并开启root权限。

打开设置,找到关于平板电脑功能。

鼠标连续点击5下版本号。

返回上一页,可以看到新增一个开发者选项功能,点进去。

打开usb调试模式。

模拟器已经配置好了,下面还需要配置一下adb环境。

adb配置

下载地址:https://dl.google.com/android/repository/platform-tools-latest-windows.zip?hl=zh-cn

配置环境变量。

path环境变量

配置完成。

adb连接模拟器

adb环境配置完成后,需要连接到模拟器,此处需要查看一下模拟器地址与端口。

打开夜神模拟器安装目录下的binBignoxVMS文件夹,找到要调试的模拟器文件夹。

搜索 guestport="5555",找到所在行的hostip和hostport,就是我们 adb 连接需要的 ip 和 port:

使用adb devices命令查看当前连接shell可以看到为空。

使用adb connect 127.0.0.1:62001命令连接到当前模拟器。

再次使用adb devices命令查看当前连接shell可以看到已经连接成功。

证书安装

把之前我们使用openssl配置好的证书通过adb传到模拟器中,让模拟器信任我们的证书。

输入adb root 将adb以root身份运行。

adb root

再输入adb remount重新挂载system分区。

adb remount

使用adb push将证书push到系统内。

adb push 9a5ba575.0 /system/etc/security/cacerts

将证书权限修改为644。

adb shell chmod 644 /system/etc/security/cacerts/9a5ba575.0

现在我们就能够在系统证书里看到我们的证书了。

这个时候我们再打开微信看一下能不能抓到小程序的请求包。

成功获取到请求包。

欢迎一键三连,点赞转发+关注。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是黑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值