iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0
Security

我的30天資安攻之路防身修練:實戰×工具×AI全紀錄系列 第 5

【Day5】安全日誌用OWASP ZAP攔截蝦皮Token:從框架設定環境到Token大解析

  • 分享至 

  • xImage
  •  

前言

當今網站大多使用HTTPS加密,如何攔截與分析這些被加密的請求成為資安工作必備技能。
OWASP ZAP 是一個開源滲透測試工具,能攔截HTTPS流量,但必須先安裝ZAP自簽的CA憑證,才能不被瀏覽器擋下。
本文從環境架設、代理設定,到如何抓到蝦皮登入API的Token,以及Token在身份驗證中的關鍵角色進行說明。


環境設置:讓ZAP攔截HTTPS流量

  1. 透過ZAP代理(127.0.0.1:8080)設定瀏覽器代理。
  2. 從ZAP首頁下載CA根憑證 owasp_zap_root_ca.cer
  3. 使用Windows證書管理器(certmgr.msc)匯入憑證至「受信任的根憑證授權機構」。
  4. 重新啟動Chrome並確保可正常瀏覽HTTPS網站,且ZAP History可看到流量。

攔截並找到Token的實戰流程

  1. 蝦皮登入時,ZAP的History中會記錄很多API請求,包括POST和GET。
  2. 我們用關鍵字「login」篩選,找到類似https://dem.shopee.com/dem/janus/v1/app-auth/login的登入API請求。
  3. 點選該請求,切換到「Response」底下,就能找到伺服器回傳的Token字串,通常是Base64編碼。
  4. 解碼Base64後,會取得形如下的JSON資料:
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "max_age": 1800
}

https://ithelp.ithome.com.tw/upload/images/20250905/201683571r0DY392ge.png


Token是什麼?

Token 是網站用來識別用戶身份的「電子通行證」,類似遊樂園的門票,有效期限內憑它能使用會員服務,跨頁面傳遞登入狀態。

  • 用戶登入後,伺服器發給Token,瀏覽器在後續請求中攜帶此Token。
  • 通常在HTTP Header的 Authorization 欄位中放置,格式可能是 Bearer <token>
  • Token內含用戶資料與權限,且經過加密簽章,防止竄改。

為什麼使用Token?

以前網站使用「Session + Cookie」來保持登入狀態,但這種方式有維護複雜度高、不易擴展等缺陷。
Token以「無狀態」方式實現,用戶身份資訊都包在Token裡,伺服器不需保留用戶狀態,可跨域使用,且安全性較好。


下一步:用ZAP抓到Token後做什麼?

  1. 測試Token有效性:用ZAP「Requester」把token放進其他API請求中,看看是否能訪問會員專區等受保護資料。
  2. 弱點測試:嘗試Token替換、過期測試、權限提升測試,發掘可能的安全漏洞。
  3. 自動化掃描:搭配ZAP爬蟲與弱點掃描器,全面檢查蝦皮網站的安全薄弱點。

https://ithelp.ithome.com.tw/upload/images/20250905/20168357iGtwPaUfTl.png
(圖只是zap範例可以自己操作其他有帳密頁面,自行捕捉tokn)

小小心得

攔截HTTPS請求、擷取Token是Web安全測試的必經之路。一開始可能設定複雜,遇到ChromeDriver、憑證信任這類問題,但只要過了阻礙,後續就完全暢通。
Token本身是理解Web身份驗證和授權流程的關鍵,熟悉它才可以深入研究更多安全攻防技巧。


結語

用OWASP ZAP攔截蝦皮登入Token,不僅是學會一項技能,更是理解Web安全體系如何運作的絕佳切入點。
有了這把「電子通行證」你就打開了API安全測試的大門,後續漏洞挖掘和防禦策略都走在路上啦!


如果想要更詳盡的腳本演示和自動化設置/報告撰寫範例,可以告訴我,繼續帶你走完整軟體安全攻防路!

小小心得
攔截HTTPS請求、抓取Token是Web安全測試的必經之路。一開始可能設定比較複雜,遇到ChromeDriver、相關類別問題,但只要過了攔截,後續就完全暢通。 Token
本身就是理解Web身分驗證和授權流程的關鍵,熟悉了才可以深入研究更多安全攻防技巧。

結語
利用OWASP ZAP攔截蝦皮登入Token,不僅是學會一項技能,更是了解Web安全體系如何運作的絕佳切入點。
有了這把「電子通行證」你就打開了API安全測試的大門,後續漏洞挖掘和防禦策略都走在路上!

(但後面有幾天應該會重在攻擊手法,因為設置環境真的好久哈哈哈而且不是主要練習重點!)

來前情提要一下~~~~假日比較多時間做測試
第6天:LFI / RFI 檔案包含漏洞與服務器安全
LFI(本地檔案包含) 是網站程式因未檢查使用者輸入,允許攻擊者讀取並執行伺服器上的本地檔案。
RFI(遠程檔案包含) 更嚴重,攻擊者能讓網站載入並執行遠程伺服器上的惡意檔案。
這些漏洞可能導致敏感檔案外洩,甚至伺服器被全面入侵。
**防護最佳實務:**限制檔案權限、嚴格驗證使用者輸入、關閉危險設定(如 PHP 的 allow_url_include)、定期系統與應用更新。

第7天:登入弱密碼爆破與釣魚實驗
利用 Kali Linux 的 Hydra 工具,能快速針對網站登入頁進行密碼爆破,查找弱密碼或容易猜測的組合。
透過 Gophish 平台,可以模擬釣魚攻擊,測試使用者的安全意識,貼近真實社交工程威脅。
強化密碼政策 包含要求複雜度、定期更換、限制重複密碼,配合密碼錯誤鎖定提高防護。
引入 多因素驗證(MFA),除了密碼外再加一層動態密碼或簡訊碼,大幅提升帳號安全。


文章靈感與參考:

  • iT邦幫忙蝦皮API串接手冊與access token說明[1]
  • iT邦幫忙JWT與Token基礎介紹[6]


上一篇
【DAY4】就是這樣被騙的!X S S和C S R F攻擊實戰演練(付壓縮檔)
下一篇
【DAY6】LFI/RFI檔案包含漏洞—測試與防守全攻略
系列文
我的30天資安攻之路防身修練:實戰×工具×AI全紀錄7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言