使用BurpSuite抓取HTTPS網站的資料包
昨天面試,技術官問到了我如何使用BurpSuite抓取https網站的資料包,一時間沒能回答上來(尷尬!)。因為以前https網站的資料包我都是用Fiddler抓取的,Fiddlert自動幫我們配置好了證書,所以就沒用BurpSuite抓取過,今天特意去學習了下如何使用BurpSuite抓取https網站的資料包。
關於HTTPS協議中證書的認證過程,傳送門——>HTTPS協議工作原理(SSL數字證書)
BurpSuite之所以不能抓取https資料包,是因為BurpSuite作為中間人代理,我們和https網站之間的資料通訊都是由BurpSuite來代理的,而https通訊是需要SSL證書的,BurpSuite的證書我們瀏覽器預設是不信任的。所以要想實現BurpSuite抓取https的資料包,最關鍵的是讓瀏覽器信任BurpSuite的證書。
下面我以Firefox瀏覽器為例,演示如何讓Firefox信任BurpSuite的證書。
首先,開啟BurpSuite,配置好代理。如果不知道怎麼用BrupSuite的,移步——> Burpsuite工具的使用
然後訪問 http://burp/ ,下載BurpSuite的證書
下載到桌面後,得到的是一個 cacert.der 的檔案,而並不是我們常見的 .cer 格式的證書,這是因為證書的編碼方式不一樣導致的,但是這並不影響我們後續的匯入證書
然後我們在Firefox中開啟設定——>選項——>高階——>證書——>檢視證書——>證書機構——>匯入
然後勾選信任由此證書頒發機構標識的網站,點選確定。
我們的BurpSuite的證書就匯入進Firefox的可信任證書裡面了。
當我們訪問https的網站,比如百度的時候,可以發現,BurpSuite已經能抓取資料包了。
對於其他的瀏覽器,比如chrome,QQ瀏覽器等,步驟都一樣,只是最後匯入證書是匯入進受信任的根證書頒發機構。