APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外)。所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议、Websocket、socket协议,一般来说,HTTP协议最多,Websocket是后起之秀,socket最少,而针对HTTP和websocket,Burp Suite工具是最适合不过的工具了。但是在遇到了app使用SSL或TLS加密传输(https)的时候,由于证书不被信任,直接导致网络通信终端,抓包失败。本文介绍如何使用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热点。
2. Burp suite配置
Burp suite的Proxy项目中配置代理IP及端口。
这里也可以为Burp Suite添加多个代理
3. 导出Burp Suite根证书
在火狐浏览器中,使用Burp suite代理随意打开一个https链接,获取相关证书,并导出:
直接导出证书:
通过hfs.exe等工具,将导出的根证书下载到手机中,并在设置-> 安全 -> 从存储设备安装(证书) 选项中安装Burp Suite根证书:
4. 手机连接Wifi热点,并设置代理:
手机连接我们刚设置好的Wifi热点,并在高级选项中配置代理:
通过以上配置,app中的HTTP流量就可以直接走Burp Suite了:
四、总结:
安卓APP更多的都是采用HTTP通信的,少数采用HTTPS的,这也是国内网络安全问题的现状。毕竟不加密的HTTP通信节约带宽和系统资源,更多人直接采用非SSL或者TLS加密的HTTP通信,这也是导致网络嗅探如此流行、简单的原因。https的通信需要信任公私钥,所以只要有了密钥或者根证书,抓包就非常容易,这也直接告诉我们,如果访问正常网站,突然弹出让我们信任证书的时候,这时也许就是我们正在被嗅探。。。。。
新闻热点
疑难解答
图片精选