跳至主要內容
Skip to content

深入淺出 SSL Strip:強行剝離加密層的中間人攻擊

在網路安全的世界中,SSL Strip(又稱 HTTP Downgrade Attack,HTTP 降級攻擊)是一種極其經典且陰險的手段。它的核心目標不是「破解」加密,而是「阻止」加密發生。我們將通過這篇文章了解它的運作機制以及防禦對策。


一、 核心原理:降級 (Downgrade)

大多數使用者在輸入網址時,習慣只輸入 example.com 而非完整的 https://example.com。這給了駭客插足的空間。

攻擊流程圖


二、 它是如何「騙過」我們的?

  1. 隱形攔截:駭客通常在開放式 WiFi 或公共網路中使用 ARP Spoofing 等技術,讓所有流量經過他的電腦。
  2. HTTPS 代理:駭客的電腦同時扮演兩面角色:
    • 對你:它裝作是伺服器,只給你用 HTTP
    • 對伺服器:它裝作是瀏覽器,使用 HTTPS
  3. 關鍵一步 (The Strip):它會掃描 HTML 代碼中所有的 https:// 連結,全部改寫成 http://。當你以為點擊的是安全連結時,其實走的是駭客準備的明文通道。

> **視覺陷阱**:網頁看起來一模一樣,功能完全正常,唯一差別只是網址列少了一個小鎖頭。在行動裝置的小螢幕上,這點差異極難被察覺。


三、 終極剋星:HSTS (HTTP Strict Transport Security)

為了防禦這種攻擊,單靠伺服器端重導向 (301/302) 是不夠的,因為重導向封包也會被駭客攔截。

HSTS 的出現從瀏覽器端解決了問題:

  1. 強制升級:當瀏覽器記住該網站有 HSTS 後,任何嘗試訪問 http:// 的行為,都會在瀏覽器內核直接被升級為 https://
  2. 拒絕降級:瀏覽器會完全拒絕接受來自該網站的任何 HTTP 回應。
  3. 307 Internal Redirect:與一般的網路重導向不同,這發生在瀏覽器內部,駭客根本看不到這個請求,也無法攔截。

總結

概念說明
攻擊目標將 HTTPS 降級為明文 HTTP
核心手段改寫 HTML 中的連結與重導向
防禦關鍵瀏覽器端的 HSTS 強制策略

進階挑戰

  1. 嘗試在本地端環境搭建一個代理伺服器,模擬將所有的 https 連結替換為 http
  2. 研究 HSTS Preload List 的加入門檻,並思考它對新網站的影響。

延伸閱讀與資源