证书安装
1、从burp中导出证书,一般是cer格式,如果手机不识别,需要转换格式,各种格式可以都试一下
2、转换格式可以使用浏览器,例如firefox,选项-隐私与安全-查看证书,里面导入证书后再导出,导出后为crt格式
或使用openssl命令转换格式
3、安装到手机,首先usb线连接手机,进入内存,把文件放到目录里,再从手机中安装。
手机上安装:设置->安全->加密与凭据->从存储设备安装,然后找到刚刚放到手机中的证书,点击安装就行。
用户证书不信任
Android版本较高,会提示“已安装证书授权中心 受到不明第三方的监控”,也就是不信任用户证书。
解决办法有两个
方法一:安装为系统证书
1、安装成系统证书,需要root,安装re浏览器(可以管理手机里所有文件),主要是需要往system目录下写文件的权限。
在导出burp证书后,用openssl转换格式为pem格式,查看pem证书详情,得到它的hash值
举例:
openssl x509 -subject_hash_old -in <certificate.pem>
得到如下信息,第一排就是hash值
e7f15d06
-----BEGIN CERTIFICATE-----
MIIFRjCCBC6gAwIBAgIGAXWR+Jx8MA0GCSqGSIb3DQEBCwUAMIGmMTcwNQYDVQQD
DC5DaGFybGVzIFByb3h5IENBICg0IE5vdiAyMDIwLCBMQVBUT1AtQ0xITEI1MlQp
MSUwIwYDVQQLDBxodHRwczovL2NoYXJsZXNwcm94eS5jb20vc3NsMREwDwYDVQQK
DAhYSzcyIEx0ZDERMA8GA1UEBwwIQXVja2xhbmQxETAPBgNVBAgMCEF1Y2tsYW5k
MQswCQYDVQQGEwJOWjAgFw0wMDAxMDEwMDAwMDBaGA8yMDUwMDEwMTA2MzYzMFow
gaYxNzA1BgNVBAMMLkNoYXJsZXMgUHJveHkgQ0EgKDQgTm92IDIwMjAsIExBUFRP
UC1DTEhMQjUyVCkxJTAjBgNVBAsMHGh0dHBzOi8vY2hhcmxlc3Byb3h5LmNvbS9z
c2wxETAPBgNVBAoMCFhLNzIgTHRkMREwDwYDVQQHDAhBdWNrbGFuZDERMA8GA1UE
CAwIQXVja2xhbmQxCzAJBgNVBAYTAk5aMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAkxNd8Bu8+4kbKiWGxR2mHTFOQ299YrjQOK/qjRHQjOKFhkdFLCIU
Zb1JrAtUQd49eo7zg6qYcS5fFIcmmgJsLAHg36PSyJ4pZJLkxcjTQ27ZGbfHpGeh
CZvWSx+vjhc8abNnmsk88r9Ib6BujtxTqklSLHbQp1hBAMKgP1+F5YQAjqAkOPmV
OyuJzKdOZ5zhq3i+zrRhOvi8As/PIN9F6uYoEK/nsao9Ik313lnx8OhiY/pheoLR
QetnotzFSg0HkB2Ly8cbJTP+uerc2eUMz/c8/pa4rBtqtGr4fz2A1M8cSzhr81F9
sr/CNft/Vxbhxs3Q55tNw6U8VtFkrSBZzwIDAQABo4IBdDCCAXAwDwYDVR0TAQH/
BAUwAwEB/zCCASwGCWCGSAGG+EIBDQSCAR0TggEZVGhpcyBSb290IGNlcnRpZmlj
YXRlIHdhcyBnZW5lcmF0ZWQgYnkgQ2hhcmxlcyBQcm94eSBmb3IgU1NMIFByb3h5
aW5nLiBJZiB0aGlzIGNlcnRpZmljYXRlIGlzIHBhcnQgb2YgYSBjZXJ0aWZpY2F0
ZSBjaGFpbiwgdGhpcyBtZWFucyB0aGF0IHlvdSdyZSBicm93c2luZyB0aHJvdWdo
IENoYXJsZXMgUHJveHkgd2l0aCBTU0wgUHJveHlpbmcgZW5hYmxlZCBmb3IgdGhp
cyB3ZWJzaXRlLiBQbGVhc2Ugc2VlIGh0dHA6Ly9jaGFybGVzcHJveHkuY29tL3Nz
bCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4wDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQW
BBSxw2j7SHsxFof+y6iYmC/UNdasZzANBgkqhkiG9w0BAQsFAAOCAQEAYqFkNhj4
tF4TNAfmpA5Vm86v8RWHfgwvsBcYDKub0w5hOSX0xq3D1Tvu4McLFyUhg2CELtVu
6ef6qvcxypxwQ7fhhmW1uKRJYOsB+dZiKkJ5kYW/5PH9hMmUb44w4hQWAHnp2G2j
e1DAHmPE5CFqcO0bsqXI6+uhNegfAhN+AnR+h9ArhSgXEqtUnGdIpjRG5GVgy7Z9
YANMcX/fr28LisuE4qH8RNaH7Ep17y2v2BGUiiSssUouzhcw/wia3djrAsT1frv/
f4A9kVAxVoXWYRmKa5x4mXHJuVc/OGhLC4ZlkZoP54HIFrpv90vvccfU/IXzHzoX
zbzLXpMEucGQ3w==
-----END CERTIFICATE-----
将证书重名名为e7f15d06.0,这个文件直接放入系统证书的目录里。
打开手机里re浏览器,找到/system/etc/security/cacerts,里面都是hash.0这个格式的文件,放这里面就好了。
问题:重新刷机了,安装了re浏览器,也挂载读写权限了,但是还是无法写入system。
问题解决:因为系统是Android10,网上那些挂载分区,修改system读写权限都不管用了。可以使用magisk里的Move Certificates模块,安装好该模块后自动将用户证书添加进系统证书了。
magisk安装好后,在线下载模块,需要挂vpn,fq。
方法二:
1、将要抓包的apk,反编译后,在AndroidManifest.xml中找到android:networkSecurityConfig="@xml/network_security_config"
如果没有就加上
2、在res/xml目录中,新建network_security_config.xml文件,有的话直接在这个文件中修改
添加如下代码:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<certificates src="user" />
<certificates src="system"/>
</trust-anchors>
</base-config>
</network-security-config>
如图所示:
user就是信任用户证书
system就是信任系统证书
3、保存,重新编译打包APK,安装到手机,就可以抓包了
这个方法仅限于APK没有做重新编译重打包重签名这些防护的情况
版权声明:本文为CSDN博主「MaviBleu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_48350129/article/details/115484125
点击下方小卡片或扫描下方二维码观看更多技术文章
师傅们点赞、转发、在看就是最大的支持