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

Burp抓取安卓APP的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热点。

主机虚拟无线热点

 

2. Burp suite配置

Burp suite的Proxy项目中配置代理IP及端口。

Burp Suite添加代理

 

这里也可以为Burp Suite添加多个代理

Burp suite添加代理

 

3. 导出Burp Suite根证书

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

Firefox抓包并查看ssl证书

 

直接导出证书:

 

导出Burp Suite的根证书

 

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

安卓手机导入证书

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

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

安卓配置代理

通过以上配置,app中的HTTP流量就可以直接走Burp Suite了:

8

四、总结:

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

 

via.http://www.jb51.net/article/64396.htm

最后修改:2017 年 07 月 22 日 05 : 46 AM