安卓模拟器+BURP实现app抓包
注:软件下载地址皆为官⽅地址
模拟器抓包
1. 下载⼀个安卓模拟器( 等都⾏)
2. 查看本机 IP(CMD+ipconfig)
3. BURP 设置监听本机 IP 及端⼝
注:设置IP为127.0.0.1⽆法抓取到流量,需要设置为本机实际 IP
4. 给模拟器指定代理(这⾥以夜神模拟器为例)
将模拟器代理设置为 BURP 监听的 IP 及端⼝
5.
6. 安装证书
安卓系统⽆法安装.der后缀的证书,所以需要⽤⽂件管理器更改下载的证书后缀为.cer
注:安装过程中可能会提⽰需要设置模拟器的锁屏密码,随便设置个密码就⾏了
7. 开启愉快的抓包之旅
局域⽹内抓包
⽅法⼀
1. 电脑与⼿机连接同⼀个 WIFI
2. 查看电脑 IP,BURP 设置监听该 IP
3.
4. 安装证书,完⼯
⽅法⼆
1. 开启电脑的 WIFI 热点
2. 查看 WIFI 热点的 IP,并且在 BURP 中监听该 IP,并设置⼀个端⼝
3. ⼿机连接该热点,并且配置代理(代理的 IP 为 WIFI 热点的 IP),然后下载安装证书
跟⽅法⼀后续步骤⽆异
ps:不知道是我的⽹卡问题还是什么,这⼀步失败了,还是太菜了
安装证书时的坑
注意点:
1. 苹果安装证书后,需要完全信任证书;
设置->通⽤->关于本机->证书信任设置->开启针对根证书启⽤完全信任
2. 安卓 7.0 及以上版本安装默认不信任⽤户⾃⾝安装的证书,解决办法有:
导出 burp 证书 cacert.der
将 der 格式转为 pem:openssl x509 -inform DER -in cacert.der -out cacert.pem
计算证书 MD5:openssl x509 -inform PEM -subject_hash_old -in cacert.pem | head -1
burp 的证书计算结果为9a5ba575
修改证书名:mv cacert.pem 9a5ba575.0
默认 /system 分区为 Read-only,执⾏以下三条即可解除限制、才可添加证书到 system 分区
adb root # 很多时候会发现⽤不了,需要 adb shell 后执⾏ " mount -o remount, rw /system ",复制完证书之后记得恢复 " mount -o remount, ro /system " adb disable-verity
adb reboot
重新挂载分区
adb root
adb remount
push 证书:adb push ./9a5ba575.0 /system/etc/security/cacerts/
给证书加权限,并重启
adb shell
chmod 644 /system/etc/security/cacerts/9a5ba575.0
reboot
⼩ tips:可以直接安装证书为⽤户证书,然后在中安装插件即可,这样可以有效解决安卓 10 采⽤了的安全策略-将系统分区 /system 挂载为只读,就算你 root 了也没⽤这种情况
绕过证书验证(SSL Pinning)抓包
有时候使⽤ BURP 抓包时,即使安装证书等⼀系列操作都正确,仍旧会出现⽆法抓包的情况。甚⾄进⼊应⽤会出现闪退的情况。此时就可能是 APP 做了证书验证。
⼯具: +
条件:⼿机需要 root,建议在模拟器内操作
步骤:
1. 安装 Xposed,,,点击框架,安装更新。安装完后重启
2. 安装 apk,并在 Xposed 中勾选激活该模块
3. 后续就是设置代理等基本操作
注:
遇到卡死情况重启⼿机即可
遇到如下情况,显⽰未激活时,打开右上⾓黄⾊开关后重启设备即可安卓下载
⽞学问题
局域⽹内,死活抓不到包怎么办
明明证书什么的都配置好了,仍旧抓不到包?可以试⼀试将监听端⼝改⼤⼀点!!即使⼩端⼝没被占⽤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论