1. 程式人生 > >安卓APP測試之使用Burp Suite實現HTTPS抓包方法

安卓APP測試之使用Burp Suite實現HTTPS抓包方法

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的通訊需要信任公私鑰,所以只要有了金鑰或者根證書,抓包就非常容易,這也直接告訴我們,如果訪問正常網站,突然彈出讓我們信任證書的時候,這時也許就是我們正在被嗅探