由于Burpsuite的抓包原理为中间人攻击,直接使用Burpsuite作为代理将会报证书不信任的错误,所以我们要信任Burpsuite的证书,即安装证书。

1、下载并处理证书

Burpsuite启动于物理主机中,我们在其中新开一个代理端口,如下图所示:
image.png
代理开启同时,Burpsuite会在同样的ip:port下打开Web服务,以供用户下载证书,例如:
image.png
我们选择在kali中下载,因为我们会用到kali中的openssl工具,将der类型的证书转为pem

openssl x509 -inform der -in cacert.der -out burp.pem

这段指令的意思是处理x509类型的证书,输入der格式,转为pem格式。x509类型证书后缀包含der、pem、crt、cer等等。除了x509类型的证书,还有PGP、PKCS#7、SSH等类型证书,应用场景有所不同。

由于安卓证书在储存时,以证书内容(与证书名称,也就是burp.pem,无关)的hash值.0作为证书名称,所以我们要获取证书内容的hash值,并更改证书名字

openssl x509 -subject_hash_old -in burp.pem
mv burp.pem 9a5ba575.0

image.png

2、安装证书

所用指令

adb connect ip:port #连接模拟器
adb devices #显示已经建立连接的设备
adb root #获取root权限
adb push a b #将主机文件a推送到模拟器路径b
adb shell #打开模拟器终端

之后将证书导入到物理机,随后用adb工具连接安卓机的终端,注意要打开模拟器的root权限和磁盘的可写权限
image.png
image.png
然后打开adb调试工具所在目录,一般模拟器根目录都有,并找到adb调试端口
image.png
image.png
在此打开cmd窗口,连接到安卓终端然后将证书推送到指定位置
image.png
image.png
至此,证书安装完成

3、配置代理

随后我们回到模拟器,配置网络环境
image.png
之后,我们再抓https协议的数据包,就不会再报证书错误。

标签: Burpsuite, 抓包

已有 2 条评论

  1. tl

    你好,我想问一下,我在网上搜索了大部分,基本上都是这个方法,但是我在执行完左右操作后,模拟器还是会报该网站的证书有问题,是怎么回事啊?

    1. 那说明证书导入还是有问题,这个本质上是一个中间人攻击的过程,要让浏览器(客户端)信任抓包(代理)工具是安全的,建议排查一下证书导入是否正确。

添加新评论