iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
1
Security

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

Day 015. 抓包神器 Burp Suite

image-20200930114643784

Burp Suite

或大家都簡稱為 Burp 是一個用於測試 Web 應用程式安全性的工具。

是基於資安領域由 PortSwigger Web Security 所開發出的軟體,因此裡面提供工具及特點都跟滲透測試及攻擊 web 相關

Burp Suite 有三種版本

截圖 2020-09-30 上午10.59.03

社區版本是免費的,不過社區版有的功能已經足夠使用
專業版優點是如果今天工具分析到一半,所以有的資料都可以保存下來,下次可以繼續使用
當然還是有些進階工具上的差異詳細可以,至官網 詳細功能介紹

特點及功能

  • HTTP Proxy — 可使用 Web 代理伺服器運行,並且位於瀏覽器和目標 Web 伺服器之間。允許攔截、檢查和修改在兩個方向上通過的原始流量。
  • Scanner — Web 應用程式安全掃描器,用於掃描 Web 應用程式漏洞。
  • Intruder — 可以對 Web 應用程式執行自動攻擊。提供了一種自定演算法及參數,生成惡意 HTTP 請求。Intruder 工具可以測試和檢測 SQL 注入、跨站腳本、參數篡改和易受蠻力攻擊的漏洞。
  • Spider — 自動抓取 Web 應用程式的工具。把以把站台抓取下來
  • Repeater — 可以用於修改對伺服器的請求,重新發送並觀察結果。
  • Decoder — 將已編碼的數據轉需要的格式。
  • Comparer — 數據比較工具。
  • Extender — 允許加載 Burp 擴展,使用自己的或第三方代碼提供的語法擴展 Burp 的功能
  • Sequencer — 一種分析數據項樣本隨機性的工具。它可以用於測試應用程式的會話令牌或其他重要的數據項,如反 CSRF 令牌、密碼重置令牌等。

使用 Burp Suite的姿勢起手勢

講了這些特色,接下來就是來介紹要怎麼使用 Burp ,下載完軟體

啟動畫面

image-20200930114643784

專案及設定檔設定

選擇專案,預設選擇 臨時專案(Temporary project),這裡專業版可以儲存專案,所以可以選擇,社區版本只能選擇臨時專案(Temporary project),點擊下一步

截圖 2020-09-30 上午11.00.57

選擇設定檔 (configuration) 選擇 開始 Burp

p.s 當某些設定很常用可以把一些習慣使用儲存下來,方便不用重新設定

截圖 2020-09-30 上午11.01.03

開始 Dashboard 介面

社區版 - 啟動儀表板介面

截圖 2020-09-30 下午12.32.28

專業版 - 啟動儀表板介面

截圖 2020-09-30 下午1.49.47

這個複雜的介面就是,Burp 的操作介面

跟Charles 比較起來是不是有種覺得 Charles UI 做的很棒的感覺 emoticon37.gif

其實熟悉後發現使用也很簡單,只是一開始會被不知道從何開始而迷惑,跟著老司機就不會迷路啦

Burp Proxy 設定

這個章節主要針對怎麼使用 Burp 攔截資料,只需要聚焦在 Porxy 如何使用,就會變得方常簡單

image-20200930135859845

選擇 ProxyOptions

在 Proxy Listeners 設定代理伺服器 IP 及 Prot

預設 IP 為 127.0.0.1 port 為 8080,可以自己新增及修改

TIP : 我自己常常為了方多數會將IP 設定 All Interface(0.0.0.0) 這樣無論我在哪個ip 都方便其它裝置連接測試

下方的 Intercept Client Requsts 跟 Server Responses

可以依照自己的需求排除或者包含自己所需條件,目前可以使用預設即可,有其它需求可以在來這裡調整

電腦代理伺服器設定

先前在 Charles 有提到,Charles 為了方便使用,會自動設定 Proxy 設定

但是使用 Burp 需要自己手動設定 代理伺服器

系統偏好設定網路選擇使用網路的介面進階

image-20200930142217770

協定勾選 HTTP 及 HTTPS 代理伺服器 IP 為本機IP 127.0.0.1 及prot 8080 ,並確認,記得要套用網路

image-20200930142416713

攔截 Intercept

當上面設定都設定好後,任何的網路流量都會經過 Burp,就可以看到Burp 攔截到的資料

image-20200930143523339

且Burp 預設設定 Intercept 是啟用 的狀態,Intercept 啟用 會自動攔截全部全部連線,需要一條一條連線處理

操作功能如下

  • Forward
    • 放行請求
  • Drop

    • Drop 則是丟掉這個請求,客戶端會收到 Burp Drop 請求的結果
  • Action

    • 可以把請求傳送到其它功能上做進一步處理

因此如果沒有要一條一條連線分析,建議可以先把自動攔截功能關閉

截圖 2020-09-30 下午2.51.40

瀏覽捕獲資料

使用 History

使用歷史紀錄即可看到每一個請求順序

截圖 2020-09-30 下午2.52.42

上圖可以清楚看到,每一條請求項目,左右邊分別為 Request 跟 Response 資料

使用 Target

主要工具選擇 Target 即可在 Site map 看到所有捕獲的連線使用網站的方式排列

可以另外使用 Scope 及 Filter 過濾器,精確把需要的連線選擇出來,相當的便利

image-20200930150055088

攔截 HTTPS

由於沒授權CA 憑證,如果用瀏覽器瀏覽有些瀏覽器會警告使用者

截圖 2020-09-30 下午3.11.47

可以點擊進階繼續前往 ,這時候瀏覽器會信任所使用的憑證,這樣burp 即可抓到連線資料

不過網址部分會提醒使用者,此憑證不安全

但不是每一種客戶端都可以使用這方式信任憑證,因此我們還是會使用正統方式,授權CA憑證並安裝

本機可以用瀏覽器網址直接瀏覽 http://127.0.0.1:8080

截圖 2020-09-30 下午3.20.53

點擊 CA Certificate 即可下載,並安裝進系統鑰匙圈

截圖 2020-09-30 下午3.24.56

搜尋記得用 Burp 公司名 PortSwigger 搜尋,像我每次都用 Burp 去尋找都找不到

手機安裝憑證

使用 Safari 瀏覽 Burp Suite 的IP ,我有多設定一組 All Interface (任何IP )可瀏覽

截圖 2020-09-30 下午3.33.37

手機輸入電腦的IP

http://192.168.0.103:8181

即可看到 ca 下載按鈕

image-20200930153459124

其它步驟可以看 Day 014. 使用 Charles - 攔截手機流量 手機安裝憑證 的部份

疑難排解

很多人遇到問題,除了一開始代理伺服器設定問堤外,最常遇到的就是明明設定好了,但是都攔截不到資料,尤其是在Chrome 瀏覽器上,都攔不到資料

原因是在Chrome 上安裝了翻牆軟體(追劇神器) vpn 之類的,這些也屬於proxy 軟體應用,這些會直接設定外部的代理伺服器IP 上,所以沒經過 Charles 或 Burp 當然就攔截不到了

如何查看

Chrome ➜ 設定 ➜ 搜尋 proxy

或Chrome 網址貼上下方路徑

chrome://settings/?search=proxy

下圖為正常的設定

截圖 2020-09-30 上午11.22.18

下圖為Chrome 安裝的擴充軟體,代理了網路,所以沒有需要用的時候還是建議移除軟體

截圖 2020-09-30 上午11.22.18

方便控管代理伺服器的 SwitchyOmega - 擴充軟體

當我們在使用攔截的時候有時候並不希望全部電腦的連線都攔截,尤其是Web上的除錯

SwitchyOmega 方便我們直接在瀏覽器指定這個站台是否要使用代理伺服器,還是直接連線

截圖 2020-09-30 下午3.59.58

安裝路徑

Chrome 跟 firefox 都可以安裝

這樣在瀏覽器上依照需求,設定某一站台走指定的 Proxy 相當的方便

不用再系統設定poxy 只要在擴充功能點切換即可

小結

Burp 是資安工程師以及黑客拿來分析HTTP 請求的最佳利器,當然 Burp 功能我們也只介紹了冰山一角

另外也可以了解到 Charles 及 Burp 優缺點,Charles 介面就是一看使用就可以上手,Burp 的操作是需要時間學習的,當然他可以做到很多細膩的操作,這兩套是我常用的軟體,常常用來觀看分析以及修改資料,每套都皆有優缺點,選擇你最順眼的就是最棒的軟體
icon


上一篇
Day 014. 使用 Charles - 攔截手機流量
下一篇
Day 016. 什麼都能尬的果汁機 - 雜湊 Hash
系列文
看完眼眶濕濕的App開發者慘烈對抗險惡資安環境血與淚的控訴!31

尚未有邦友留言

立即登入留言