APP的測(cè)試重點(diǎn)小部分在APP本身,大部分還是在網(wǎng)絡(luò)通信上(單機(jī)版除外)。所以在安卓APP測(cè)試過(guò)程中,網(wǎng)絡(luò)抓包非常重要,一般來(lái)說(shuō),app開(kāi)發(fā)會(huì)采用HTTP協(xié)議、Websocket、socket協(xié)議,一般來(lái)說(shuō),HTTP協(xié)議最多,Websocket是后起之秀,socket最少,而針對(duì)HTTP和websocket,Burp Suite工具是最適合不過(guò)的工具了。但是在遇到了app使用SSL或TLS加密傳輸(https)的時(shí)候,由于證書不被信任,直接導(dǎo)致網(wǎng)絡(luò)通信終端,抓包失敗。本文介紹如何使用Burp suite抓取https包。

一、工具準(zhǔn)備
安卓手機(jī)一部(Nexus4,原生安卓,未root)
筆記本(帶有無(wú)線網(wǎng)卡,可以創(chuàng)建wifi熱點(diǎn))
wifi熱點(diǎn)軟件/同一局域網(wǎng)
Burp suite軟件(抓取HTTP、HTTPS、Websocket包)
二、抓包原理
通過(guò)Burp suite代理方式,將手機(jī)的流量通過(guò)Burp suite;導(dǎo)出Burp Suite根證書(PortSwiggerCA.crt)并導(dǎo)入到手機(jī)中,手機(jī)的HTTPS流量將可以通過(guò)Burp suite代理。
三、配置過(guò)程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添加多個(gè)代理

3. 導(dǎo)出Burp Suite根證書
在火狐瀏覽器中,使用Burp suite代理隨意打開(kāi)一個(gè)https鏈接,獲取相關(guān)證書,并導(dǎo)出:

直接導(dǎo)出證書:

通過(guò)hfs.exe等工具,將導(dǎo)出的根證書下載到手機(jī)中,并在設(shè)置-> 安全 -> 從存儲(chǔ)設(shè)備安裝(證書) 選項(xiàng)中安裝Burp Suite根證書:

4. 手機(jī)連接Wifi熱點(diǎn),并設(shè)置代理:
手機(jī)連接我們剛設(shè)置好的Wifi熱點(diǎn),并在高級(jí)選項(xiàng)中配置代理:

通過(guò)以上配置,app中的HTTP流量就可以直接走Burp Suite了:

四、總結(jié):
安卓APP更多的都是采用HTTP通信的,少數(shù)采用HTTPS的,這也是國(guó)內(nèi)網(wǎng)絡(luò)安全問(wèn)題的現(xiàn)狀。畢竟不加密的HTTP通信節(jié)約帶寬和系統(tǒng)資源,更多人直接采用非SSL或者TLS加密的HTTP通信,這也是導(dǎo)致網(wǎng)絡(luò)嗅探如此流行、簡(jiǎn)單的原因。https的通信需要信任公私鑰,所以只要有了密鑰或者根證書,抓包就非常容易,這也直接告訴我們,如果訪問(wèn)正常網(wǎng)站,突然彈出讓我們信任證書的時(shí)候,這時(shí)也許就是我們正在被嗅探。。。。。
新聞熱點(diǎn)
疑難解答
圖片精選