iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
Security

看完眼眶濕濕的App開發者慘烈對抗險惡資安環境血與淚的控訴!系列 第 13

Day 013. 抓包軟體 - Charles Web Debugging Proxy

charles-macosx

Charles

Charles 官方連結

Charles 是使用 WebProxy(HTTP Proxy / HTTP Monitor) ,透過代理伺服器(Proxy Server)機制,瀏覽器或其他有透過網路的應用程式,將透過設定Charles 顯示或記錄所有的發送或接收的數據

下載

官方下載連結 支援win / mac / linux

Charles 是付費軟體,可以免費使用 ,個人 USD $50 / license 購買頁面

免費使用的限制:

  • 試用30天
  • 30過後還是可以使用,只是啟動時 Charles Logo 需要先等 15秒
  • 使用時間一次30 分鐘,時間到了,需要重新再次啟動軟體

免費版可以使用所有的功能,因此是很佛心軟體

1368109769-1436612722

圖片來源

使用教學

面板介紹

截圖 2020-09-28 上午11.12.06

截圖 2020-09-28 上午11.12.14

截圖 2020-09-28 上午11.13.56

截圖 2020-09-28 上午11.13.58

截圖 2020-09-28 上午11.14.00

截圖 2020-09-28 上午11.14.03

攔截資料

截圖 2020-09-28 上午11.11.54

截圖 2020-09-28 上午11.11.59

截圖 2020-09-28 上午11.33.42

截圖 2020-09-28 上午11.33.45

截圖 2020-09-28 上午11.33.52

如果依照上面說明圖操作,可能可不用花一分鐘就測試完,發現用 Charles 攔截資料方常的方便UI 非常簡潔

HTTPS 攔截

我們在攔截HTTPS網站會發現,攔截到的資料是一片亂碼

截圖 2020-09-28 下午3.14.47 原因是攔截的資料 HTTPS ,內容都已經金鑰加密加密。

Charles 攔截HTTPS 運作原理

透過代理伺服器會把自己偽裝成客戶端解開加密跟伺服器間的加密,並使用自己的金鑰跟客戶端加解密,這樣就可以在代理伺服器解析傳送及接收資料

因此要解析 HTTPS 要在Charles 設定 Enable SSL , 並先讓攔截資料的客戶端授權 Charles CA 憑證

截圖 2020-09-28 下午4.22.43

安裝 Charles CA 憑證

Help → SSL Proxying → Install Charles Root Certiflcate

目前例子是使用電腦攔截HTTPS 所以憑證是安裝在電腦上

截圖 2020-09-28 下午4.26.51

安裝CA憑證後mac 可以使用鑰匙圈確認,是否安裝成功,並要確認有信任此憑證

截圖 2020-09-28 下午10.18.41

Enable SSL

截圖 2020-09-28 下午4.29.32

設定後,可以攔截到 SSL (HTTPS) 的資料

如下圖可以看到已經可以攔截資料,並看到採用 TLS

截圖 2020-09-28 下午4.33.48

註:目前設定針對 電腦上操作,手機攔截放到後面章節說明

小知識

使用 Charles 有個特色是軟體會自動把系統網路 HTTP / HTTPS 都設定到 Porxy 上,關閉軟體後會自動更改回來,但有時軟體當掉後 ,不會自動切換回來,就會造常網路連線都出現問題

自動hook Proxy Server 的示意圖

截圖 2020-09-28 下午2.58.37

自動Hook 當然有好有壞,自動綁定好處當然是什麼東不用做就已經處理好,缺點就不是自己控制容易忘記原來很貼心的自動幫你處理,有時候就會忘記關掉

小結

Charles 是我在proxy 上最常用的軟體,原因就是介面乾淨,簡單一目了然

之前跟朋友一起團購,是值得用新台幣支持的好軟體


上一篇
Day 012. 網路抓包怎麼抓,何謂嗅探器 (Sniffers),為什麼要用嗅探器
下一篇
Day 014. 使用 Charles - 攔截手機流量
系列文
看完眼眶濕濕的App開發者慘烈對抗險惡資安環境血與淚的控訴!31

尚未有邦友留言

立即登入留言