安卓APP測試之使用Burp Suite實現(xiàn)HTTPS抓包方法
APP的測試重點小部分在APP本身,大部分還是在網(wǎng)絡(luò)通信上(單機版除外)。所以在安卓APP測試過程中,網(wǎng)絡(luò)抓包非常重要,一般來說,app開發(fā)會采用HTTP協(xié)議、Websocket、socket協(xié)議,一般來說,HTTP協(xié)議最多,Websocket是后起之秀,socket最少,而針對HTTP和websocket,Burp Suite工具是最適合不過的工具了。但是在遇到了app使用SSL或TLS加密傳輸(https)的時候,由于證書不被信任,直接導(dǎo)致網(wǎng)絡(luò)通信終端,抓包失敗。本文介紹如何使用Burp suite抓取https包。
一、工具準(zhǔn)備
安卓手機一部(Nexus4,原生安卓,未root)
筆記本(帶有無線網(wǎng)卡,可以創(chuàng)建wifi熱點)
wifi熱點軟件/同一局域網(wǎng)
Burp suite軟件(抓取HTTP、HTTPS、Websocket包)
二、抓包原理
通過Burp suite代理方式,將手機的流量通過Burp suite;導(dǎo)出Burp Suite根證書(PortSwiggerCA.crt)并導(dǎo)入到手機中,手機的HTTPS流量將可以通過Burp suite代理。
三、配置過程1. 保證網(wǎng)絡(luò)能進行代理
因為Burp suite是采用代理抓包方式的,所以要保證網(wǎng)絡(luò)能夠進行代理,不能被防火墻等阻隔,最好的方式是進行主機虛擬Wifi熱點。
2. Burp suite配置
Burp suite的Proxy項目中配置代理IP及端口。
這里也可以為Burp Suite添加多個代理
3. 導(dǎo)出Burp Suite根證書
在火狐瀏覽器中,使用Burp suite代理隨意打開一個https鏈接,獲取相關(guān)證書,并導(dǎo)出:
直接導(dǎo)出證書:
通過hfs.exe等工具,將導(dǎo)出的根證書下載到手機中,并在設(shè)置-> 安全 -> 從存儲設(shè)備安裝(證書) 選項中安裝Burp Suite根證書:
4. 手機連接Wifi熱點,并設(shè)置代理:
手機連接我們剛設(shè)置好的Wifi熱點,并在高級選項中配置代理:
通過以上配置,app中的HTTP流量就可以直接走Burp Suite了:
四、總結(jié):
安卓APP更多的都是采用HTTP通信的,少數(shù)采用HTTPS的,這也是國內(nèi)網(wǎng)絡(luò)安全問題的現(xiàn)狀。畢竟不加密的HTTP通信節(jié)約帶寬和系統(tǒng)資源,更多人直接采用非SSL或者TLS加密的HTTP通信,這也是導(dǎo)致網(wǎng)絡(luò)嗅探如此流行、簡單的原因。https的通信需要信任公私鑰,所以只要有了密鑰或者根證書,抓包就非常容易,這也直接告訴我們,如果訪問正常網(wǎng)站,突然彈出讓我們信任證書的時候,這時也許就是我們正在被嗅探。。。。。
相關(guān)文章
Android添加glide庫報錯Error: Failed to resolve: com.android.suppo
這篇文章主要給大家介紹了關(guān)于Android添加glide庫報錯Error: Failed to resolve: com.android.support:support-annotations:26.0.2的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-11-11解析Android開發(fā)優(yōu)化之:對界面UI的優(yōu)化詳解(三)
本篇文章主要討論一下復(fù)雜界面中常用的一種技術(shù)——界面延遲加載技術(shù)2013-05-05Android中SharedPreferences簡單使用實例
這篇文章主要介紹了Android中SharedPreferences簡單使用案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10