欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

程序员文章站 2022-06-23 10:31:56
app的测试重点小部分在app本身,大部分还是在网络通信上(单机版除外)。所以在安卓app测试过程中,网络抓包非常重要,一般来说,app开发会采用http协议、websoc...

app的测试重点小部分在app本身,大部分还是在网络通信上(单机版除外)。所以在安卓app测试过程中,网络抓包非常重要,一般来说,app开发会采用http协议、websocket、socket协议,一般来说,http协议最多,websocket是后起之秀,socket最少,而针对http和websocket,burp suite工具是最适合不过的工具了。但是在遇到了app使用ssl或tls加密传输(https)的时候,由于证书不被信任,直接导致网络通信终端,抓包失败。本文介绍如何使用burp suite抓取https包。

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

一、工具准备

安卓手机一部(nexus4,原生安卓,未root)

笔记本(带有无线网卡,可以创建wifi热点)

wifi热点软件/同一局域网

burp suite软件(抓取http、https、websocket包)

二、抓包原理

通过burp suite代理方式,将手机的流量通过burp suite;导出burp suite根证书(portswiggerca.crt)并导入到手机中,手机的https流量将可以通过burp suite代理。

三、配置过程1. 保证网络能进行代理

因为burp suite是采用代理抓包方式的,所以要保证网络能够进行代理,不能被防火墙等阻隔,最好的方式是进行主机虚拟wifi热点。

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

 

2. burp suite配置

burp suite的proxy项目中配置代理ip及端口。

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

 

这里也可以为burp suite添加多个代理

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

 

3. 导出burp suite根证书

在火狐浏览器中,使用burp suite代理随意打开一个https链接,获取相关证书,并导出:

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

 

直接导出证书:

 

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

 

通过hfs.exe等工具,将导出的根证书下载到手机中,并在设置-> 安全 -> 从存储设备安装(证书) 选项中安装burp suite根证书:

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

4. 手机连接wifi热点,并设置代理:

手机连接我们刚设置好的wifi热点,并在高级选项中配置代理:

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

通过以上配置,app中的http流量就可以直接走burp suite了:

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

四、总结:

安卓app更多的都是采用http通信的,少数采用https的,这也是国内网络安全问题的现状。毕竟不加密的http通信节约带宽和系统资源,更多人直接采用非ssl或者tls加密的http通信,这也是导致网络嗅探如此流行、简单的原因。https的通信需要信任公私钥,所以只要有了密钥或者根证书,抓包就非常容易,这也直接告诉我们,如果访问正常网站,突然弹出让我们信任证书的时候,这时也许就是我们正在被嗅探。。。。。