對于不同的測試場景,如Web、小程序、App等,我們往往會使用不同的抓包方案來完成我們測試,以下便是筆者本人在不同場景下使用的三套抓包方案。

Web

Web場景也是我們平常最多的抓包場景,而我們利用Burpsuite無法直接抓取到HTTPS的流量,想要抓到HTTPS流量需要進行如下配置。

配置Burpsuite代理

在瀏覽器配置代理

訪問如下地址進行下載證書

http://burp/

進入到谷歌瀏覽器-->設置-->隱私和安全-->管理設備證書

在受信任的根證書頒發機構導入剛才下載好的證書即可

成功導入后可以找到我們的證書

且可正常抓取HTTPS的流量

小程序

小程序我們無法直接通過瀏覽器進行訪問,所以我們抓取手機(模擬器)的流量來對小程序進行抓包,這里借助夜神模擬器來進行演示。

由于微信的更新,太高版本的微信可能抓不到https的數據包

安卓系統 7.0 以下版本,不管微信任意版本,都會信任系統提供的證書
安卓系統 7.0 以上版本,微信 7.0 以下版本,微信會信任系統提供的證書
安卓系統 7.0 以上版本,微信 7.0 以上版本,微信只信任它自己配置的證書列表

我這里的模擬器是在安卓7.0以下,所以支持任何版本的微信

首先配置buspsuite的代理

然后來到模擬器中,點擊設置,點擊WLAN

之后長按出現如下之后,點擊修改網絡

點擊高級選項進行手動配置代理

然后把之前在burpsuite設置的ip和端口進行填寫即可

接下來在模擬器中的瀏覽器里訪問配置的代理地址和端口進行證書的下載

下載之后將下載的cacert.der文件修改為cacert.cer,再打開設置-->安全

選擇從SD卡安裝

選擇證書安裝即可

安裝成功后可在信任的憑據查看已安裝的證書

證書成功安裝后就去測試抓包,打開微信,打開一個小程序

可成功抓取到數據包

App

其實也能用抓小程序的抓包方案也能抓取App的數據包,但是App有時會限制模擬器打開,用真實手機抓包然后轉發到Burpsuite上能幫我們解決掉許多不必要的麻煩。

這里我使用的抓取App數據包的方案是

手機+Postern+Charles+Burpsuite

Charles配置

Charles 是一款常用的網絡抓包工具,通過將自己設置成系統的網絡訪問代理服務器,用于調試與服務器端的網絡通訊協議,除了常見的http協議的抓包,Charles 還可以分析 Https 協議。

其下載地址如下

https://www.charlesproxy.com/latest-release/download.do

Charles下載后只有30天免費使用權限,試用期過后,未付費的用戶仍然可以繼續使用過,但每次使用時間不能超過 30 分鐘。

這里不演示具體破解方法了,網上有很多該軟件破解教程,可以自行研究一下。

安裝好之后,打開軟件如下

我們首先要給安卓手機導入Charles的系統證書,在Help-->SSL Proxying下

把保存的pem后綴文件修改成后綴為cer,后面安裝證書方法和小程序中類似或直接點擊證書文件即可

填寫證書名稱后點擊確定即可安裝成功

因為后續需要把數據包轉發到burpsuite,便于數據包在burpsuite上的更改,所以我們的burpsuite還需要導入charles的證書,在Help-->SSL Proxying下

然后輸入一個你設置的密碼

保存為p12文件,打開burpsuite,把該文件進行導入

選擇文件,添加密碼即可

證書都準備完成之后,就需要對charles做一些代理配置,在Proxy-->Proxy Settings

這里分別配置一個HTTP代理和一個SOCKS代理

然后在proxy->ssl proxy settings

配置兩個*號,讓其匹配所有Host和Port

配置完成后依次點擊ok即可

Postern配置

Postern 是一款 Android 平臺上的代理工具,可以幫助用戶實現全局代理、分應用代理等多種代理方式。

下載地址如下

鏈接:https://pan.baidu.com/s/11MOwX2c2brWOeSx2-eyzxw?pwd=9ke9 
提取碼:9ke9

直接在需要抓包的手機上選中文件里的apk文件進行安裝即可

安裝成功后先在Postern配置SOCKS代理

這里的地址和端口都要和之前配置的SOCKS地址和端口一致

然后進行匹配規則的配置

清空之后配置如下規則

然后打開VPN

配置一切正常之后會有彈出如下對話框,點擊allow允許即可

之后在手機上打開App就可抓到數據包了

轉發burpsuite

抓取到數據包之后,我們可以把數據包轉發到burpsuite上進行測試,在proxy-->external proxy settings

配置好buspsuite監聽的端口即可

配置完成后可在bp上成功接受到數據包