Burp Suite无法拦截Android第三方APK问题求助
解决第三方APK无法通过Burp Suite拦截且显示无网络的问题
修正代理地址配置
AVD中访问宿主机的Burp不能用127.0.0.1,该地址指向AVD自身,需替换为宿主机在虚拟机网络中的映射地址10.0.2.2。重新在AVD的WLAN设置中修改代理为10.0.2.2:8080后测试第三方APP网络连接。将Burp证书导入系统信任目录
Android 7及以上版本默认仅信任系统级证书,用户安装的证书不会被第三方APP自动认可。操作步骤:- 导出Burp的CA证书为PEM格式,执行命令计算证书哈希:
openssl x509 -inform PEM -subject_hash_old -in burp.cer | head -1 - 将证书重命名为
<哈希值>.0(例如9a5ba575.0) - 重启AVD到root模式,执行命令推送证书到系统目录:
adb root adb remount adb push <重命名后的证书> /system/etc/security/cacerts/ adb shell chmod 644 /system/etc/security/cacerts/<重命名后的证书> - 重启AVD,此时系统会信任该证书,第三方APP可正常通过代理访问网络。
- 导出Burp的CA证书为PEM格式,执行命令计算证书哈希:
绕过APP的证书校验
若无法修改系统证书,可通过以下方式绕过:- 使用Xposed模块(如JustTrustMe):在root后的AVD中安装Xposed框架和JustTrustMe模块,该模块会自动禁用APP的证书校验逻辑,使其信任所有证书。
- 反编译修改APK:用Apktool反编译目标APK,在
res/xml/network_security_config.xml中添加信任用户证书的配置:
重新签名并安装修改后的APK。<network-security-config> <base-config> <trust-anchors> <certificates src="system" /> <certificates src="user" /> </trust-anchors> </base-config> </network-security-config>
检查Burp Suite的拦截配置
确认Burp的监听接口设置为0.0.0.0:8080(允许所有IP访问),同时检查拦截规则是否过滤了第三方APP的请求,确保未丢弃相关流量。查看Burp的Proxy > HTTP history,确认是否有目标APP的请求日志,以此排查代理是否连通。
内容的提问来源于stack exchange,提问作者MyTricker
相关产品推荐
相关产品推荐

