0x0需求 一般来说在AndroID7以上的系统版本,系统会严格的区分系统证书和用户证书,而一些安全性较好的apk会禁止在AndroID7以下的系统版本运行,这就对安全测试的同学们产生了一定障碍。本文会图文介绍在AndroID7以上导入系统证书实现抓包
以下是本篇文章正文内容
1x0 环境准备1)已root的AndroID设备
2)adb
3)burpsuite
将Burp证书设置为AndroID手机的系统证书一般来说中有两种方法,但是这里需要注意,第一种方法适合AndroID模拟器用户,而第二种adb方法比较通用,推荐用第二种方法
2x1 方法一:AndroID访问代理1)AndroID挂Burp代理,访问http://burp
下载证书,此时,Burp的证书会下载到sdcard/Download/
目录中,这个目录是手机浏览器的默认下载目录。
2)使用adb将下载下来的证书push到存有系统证书的目录,详细命令如下:
adb shellsumv /sdcard/Download/<cert>.0 /system/etc/security/cacerts/cd /system/etc/security/cacerts/chmod 644 <cert>.0chgrp root <cert>.0
2x2 方法二:adb推入证书1)打开Proxy下的Options标签行,按照如下所示导出证书
使用openssl的x509指令进行cer证书转pem证书 和 用md5方式显示pem证书的hash值证书转换
openssl x509 -inform DER -in cert.cer -out cacert.pem
进行MD5的hash显示openssl x509 -inform PEM -subject_hash_old -in cacert.pem
将pem证书重命名使用上面复制的值(类似于9a5ba575)对pem证书进行重命名,为9a5ba575.0 (其中0为序号,用于区分hash重复的证书)
3)把证书push到用户目录中去
(1)User(root后)版本需要先把证书导入到用户目录中,再进入超级管理用户,把这个证书导入到系统证书目录。
输入如下命令
adb shellsu#挂载system分区,可写一般情况/system分区是只读的,需要挂载为读写。mount -o rw,remount /systemmv /sdcard/Download/<cert>.0 /system/etc/security/cacerts/cd /system/etc/security/cacerts/chmod 644 <cert>.0chgrp root <cert>.0
(2)UserdeBUG版本(完全root的开发版本)用户不用有User版本的中转 *** 作,直接adb超级权限就可以导入证书,一般来说各大windows平台的AndroID模拟器都是UserdeBUG版本的,具体命令如下:
# 每次开机需要输入一次adb root# 每个设备只需输入一次adb disable-verity# 每次开机需要输入一次adb remountadb push <cert>.0 /system/etc/security/cacerts/adb shell chmod 644 /system/etc/security/cacerts/<cert>.0adb shell chgrp root /system/etc/security/cacerts/<cert>.0
3x0 抓包测试在AndroID设备上已经可以抓取成功抓取加密数据包。
中间是遇到一些坑的,以前在AndroID模拟器上是不需要用Openssl转换证书格式的,但是在真机测试时出现了问题,发现.der证书不太能用,踩了些坑。
总结以上是内存溢出为你收集整理的移动安全:多方法实现Android导入系统证书并用Burp抓包全部内容,希望文章能够帮你解决移动安全:多方法实现Android导入系统证书并用Burp抓包所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)