APP的測試重點(diǎn)小部分在APP本身,大部分還是在網(wǎng)絡(luò)通信上(單機(jī)版除外)。所以在安卓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)備
安卓手機(jī)一部(Nexus4,原生安卓,未root)
筆記本(帶有無線網(wǎng)卡,可以創(chuàng)建wifi熱點(diǎn))
wifi熱點(diǎn)軟件/同一局域網(wǎng)
Burp suite軟件(抓取HTTP、HTTPS、Websocket包)
二、抓包原理
通過Burp suite代理方式,將手機(jī)的流量通過Burp suite;導(dǎo)出Burp Suite根證書(PortSwiggerCA.crt)并導(dǎo)入到手機(jī)中,手機(jī)的HTTPS流量將可以通過Burp suite代理。
三、配置過程1. 保證網(wǎng)絡(luò)能進(jìn)行代理
因?yàn)锽urp suite是采用代理抓包方式的,所以要保證網(wǎng)絡(luò)能夠進(jìn)行代理,不能被防火墻等阻隔,最好的方式是進(jìn)行主機(jī)虛擬Wifi熱點(diǎn)。
2. Burp suite配置
Burp suite的Proxy項(xiàng)目中配置代理IP及端口。
這里也可以為Burp Suite添加多個代理
3. 導(dǎo)出Burp Suite根證書
在火狐瀏覽器中,使用Burp suite代理隨意打開一個https鏈接,獲取相關(guān)證書,并導(dǎo)出:
直接導(dǎo)出證書:
通過hfs.exe等工具,將導(dǎo)出的根證書下載到手機(jī)中,并在設(shè)置-> 安全 -> 從存儲設(shè)備安裝(證書) 選項(xiàng)中安裝Burp Suite根證書:
4. 手機(jī)連接Wifi熱點(diǎn),并設(shè)置代理:
手機(jī)連接我們剛設(shè)置好的Wifi熱點(diǎn),并在高級選項(xiàng)中配置代理:
通過以上配置,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)站,突然彈出讓我們信任證書的時候,這時也許就是我們正在被嗅探。。。。。
新聞熱點(diǎn)
疑難解答
圖片精選