甚麼是工作階段劫持?權杖遭竊後為何能繞過正常帳戶登入

甚麼是工作階段劫持?權杖遭竊後為何能繞過正常帳戶登入

Marcus Reid
2026年8月28日· 7 分鐘讀完

工作階段劫持(session hijacking)是濫用有效的工作階段識別碼,令服務把攻擊者當作已認證用戶。攻擊者未必知道密碼:持有有效權杖,在服務令其過期、輪換或撤銷前可能已足夠。

關鍵要點

  • 認證在登入時證明身份;權杖把這個結果帶到之後的請求。
  • 權杖可能被洩露、截取、預測、在登入前被固定,或從瀏覽器或裝置被盜。
  • 改密碼未必撤銷現有工作階段,明確令其失效很重要。
  • HTTPS 和安全的 Cookie 設定能保護重要途徑,但單靠它們無法解決 XSS、惡意擴充功能或終端惡意軟件。

帳戶、裝置與網絡的整體模型,可先閱讀網絡安全指南。

工作階段劫持怎樣發生?

HTTP 請求彼此獨立,網上服務需要記住瀏覽器已認證。它發出工作階段識別碼(通常是 Cookie),瀏覽器在後續請求中出示。OWASP 指出,已認證的權杖暫時等同於建立它時的認證方式。[1]NIST 把相應的密鑰描述為持續綁定用戶軟件與服務的值。[2]

攻擊途徑通常是:

  1. 用戶完成認證,取得權杖。
  2. 攻擊者取得、預測、注入或以其他方式控制一個有效權杖。
  3. 攻擊者把該權杖發送給服務。
  4. 服務認定其有效,按受害者的權限處理請求。
  5. 攻擊者持續使用帳戶,直至權杖被拒絕、過期、輪換或撤銷。

所以保安界線不只是登入頁:工作階段的建立、儲存、傳輸、輪換、過期和撤銷都重要。

穩健的設計也會把工作階段延續與授權新鮮度分開。發出時有效的權杖,不應在角色被移除、帳戶被停用或敏感因素更改後仍悄悄保留存取權。服務可重新核對重要授權狀態,就高影響操作要求近期認證,而非永遠同等信任每個有效工作階段。

被盜工作階段權杖來自哪裏?

方式發生甚麼主要控制
權杖洩露或截取有效識別碼經流量、紀錄檔、URL、Referer 或不安全儲存外洩HTTPS、安全傳輸、URL 不含權杖、安全儲存
工作階段固定攻擊者令受害者用一個攻擊者已知的識別碼完成認證拒絕非服務發出的 ID,認證後重新產生
基於 XSS 的竊取或操作惡意腳本讀取可存取的權杖,或借受害者的瀏覽器執行操作防禦 XSS、HttpOnly、內容隔離、重新認證
惡意擴充功能或惡意軟件終端上的軟件讀取瀏覽器資料或控制請求可信軟件、最小權限、清理終端
權杖預測或暴力猜測較弱或較短的識別碼被猜中使用密碼學隨機的高熵權杖並作偵測

OWASP 把洩露、截取、預測、暴力猜測和固定歸為可導致冒充的途徑。方式各異,單一防禦無法全部涵蓋。

工作階段劫持與密碼外洩有何分別?

項目密碼或通行密鑰憑證工作階段權杖
用途認證時證明身份代表認證後的已登入狀態
一般有效期長期有效,直至被更改或撤銷通常受閒置逾時和絕對逾時限制
重用方式可建立新工作階段直接重用現有工作階段
最佳即時應對更改或復原憑證,檢查驗證因素撤銷工作階段和權杖,再保護憑證

若其他控制未攔截,被盜密碼可讓攻擊者重新登入。被盜工作階段權杖則可跳過登入,因為服務看到的是已建立的工作階段。這也解釋了 MFA 為何能阻止以密碼進行的新登入,卻不會自動令 MFA 通過後被盜的權杖失效。

兩者也可能重疊:惡意軟件可能同時竊取已儲存的憑證和瀏覽器權杖,攻擊者也可能先用密碼建立新工作階段再保住權杖。因此按證據處理:權杖風險就撤銷有效工作階段,憑證風險就更換已暴露的驗證方式,兩者都可能被收集時也要檢查終端。

它等於中間人攻擊或 XSS 嗎?

不等於。工作階段劫持是一個結果:他人的工作階段被未經授權地使用。中間人攻擊、XSS 漏洞、惡意擴充功能、不安全的紀錄檔或惡意軟件感染,都可能是取得權杖的一條途徑。

OWASP 說明,TLS 能防止工作階段 ID 在網絡上被截取,但不能阻止權杖預測、暴力猜測、客戶端篡改或固定。HttpOnly 能阻止一般腳本讀取 Cookie,但惡意腳本仍可借受害者瀏覽器發出已認證操作。威脅模型須同時說明權杖從哪裏暴露、服務為何接受它。

為甚麼改密碼不一定結束劫持?

密碼和工作階段資料庫是兩套獨立狀態。有些服務改密碼時銷毀全部;有些只撤銷部分、保留受信任裝置,或需用戶自選「在所有裝置登出」。

OWASP 建議認證和權限變更後重新產生 ID、銷毀舊 ID,並適時令其失效。NIST 要求登出和逾時令綁定失效,但由各服務自行實作。因此應對入侵時,既要更改已暴露的憑證,也要明確撤銷陌生或全部工作階段。

用戶懷疑被劫持時怎樣做?

  1. 在可信裝置上透過官方 App 或自行輸入的網址開啟服務。
  2. 查看有效工作階段、裝置、保安事件和近期帳戶活動。
  3. 撤銷陌生工作階段;無法確定歸屬時在所有裝置登出。
  4. 密碼可能已暴露就更改;移除陌生的 MFA 和復原方式。
  5. 移除可疑的瀏覽器擴充功能,更新裝置並掃描惡意軟件。
  6. 檢查電郵轉寄、第三方授權、付款變更、檔案和訊息。
  7. 就敏感服務重新認證;如服務沒有工作階段控制,聯絡服務供應商。

詳細復原次序見有人登入了我的帳戶。清除所有 Cookie 或令你在本機登出,但未必能撤銷伺服器或其他裝置上被複製的權杖。

服務應怎樣防止工作階段劫持?

服務需要縱深防禦:

  • 產生不可預測、熵值足夠的識別碼。
  • 只經預定機制接收識別碼,通常是安全 Cookie。
  • 整個工作階段都使用 HTTPS,並設定 Secure、HttpOnly 和合適的 SameSite 屬性。
  • 登入和權限變更後重新產生識別碼。
  • 採用閒置逾時、絕對逾時和按風險的過期機制。
  • 提供可見的裝置和工作階段紀錄,以及可靠的「全部撤銷」控制。
  • 高風險更改和付款須重新認證。
  • 偵測權杖重用、客戶端突變、不可能的行為和異常帳戶操作,但不要把 IP 位置當作完美的身份證明。
  • 防止 XSS,不讓敏感權杖進入 URL、瀏覽紀錄、紀錄檔和不安全的儲存位置。

NIST 要求相關密鑰走受保護通道、登出即失效並設時限,並建議勿用不安全的瀏覽器儲存。OWASP 補充了 Cookie、續期、過期、異常偵測和防固定等實務控制。

風險訊號應觸發相稱的控制,而非自動斷定身份。新 IP 可能來自出行、流動電訊商或 VPN;同一權杖同時出現在互不相容的客戶端,隨後又有復原或付款變更,才是較有力的證據。良好的系統會保留足夠事件紀錄,讓用戶和支援團隊能撤銷存取而毋須暴露權杖。


總結

  • 工作階段劫持濫用的是已認證狀態,未必涉及密碼。
  • 權杖可能被截取、洩露、預測、固定,或從終端被盜。
  • 網絡加密只能應對部分權杖竊取途徑。
  • 用戶更改已暴露憑證之餘,也要撤銷工作階段。
  • 服務必須保護工作階段由建立到失效的整個生命周期。

常見問題

不知道密碼也能劫持工作階段嗎?

可以。攻擊者持有有效權杖時,服務可能把請求視為已認證,期間密碼可能根本不會再被出示。

MFA 能防止工作階段劫持嗎?

MFA 保護認證環節,令新登入更難。它不會自動保護 MFA 通過後才被盜的權杖,所以權杖的儲存、傳輸、過期和撤銷仍然重要。

登出能阻止攻擊者嗎?

實作正確時,登出應令伺服器端的相應工作階段失效。只在一部本機裝置登出未必撤銷其他工作階段,請用帳戶的工作階段管理或「在所有裝置登出」功能。

清除 Cookie 會撤銷被盜權杖嗎?

它會刪除本機瀏覽器的 Cookie,或會令該瀏覽器登出。但被複製的權杖可能在別處繼續有效,直至服務令它失效或過期。

甚麼是工作階段固定?

工作階段固定是攻擊者令受害者使用攻擊者已知的識別碼,再等受害者完成認證。登入時重新產生識別碼即可切斷這種綁定。

HTTPS 能阻止全部劫持嗎?

不能。正確使用時,HTTPS 可在傳輸途中保護權杖免被網絡截取,但不能阻止 XSS、惡意擴充功能、惡意軟件、權杖預測、不安全的紀錄檔或有缺陷的撤銷機制。

所有工作階段 Cookie 都危險嗎?

不是。Cookie 是維持工作階段的標準方式,風險取決於識別碼如何產生、限定範圍、傳輸、儲存、過期和失效。

怎樣判斷工作階段可能被劫持?

留意陌生的有效工作階段、不是你做的操作、被改的保安設定或無法解釋的同時使用。單憑地點不能下結論;請經官方帳戶活動確認,並撤銷無法確定的工作階段。


免責聲明:本文提供一般網絡安全教育,不構成法律、鑑證或專業事故應變建議。

來源

  1. OWASP Cheat Sheet Series — Session Management Cheat Sheet — https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html
  2. NIST SP 800-63B-4 — Session Management and Session Bindings — https://pages.nist.gov/800-63-4/sp800-63b.html

Sources checked 2026 年 10 月 4 日。


延伸閱讀:

開啟 3 天免費試用

註冊即可免費體驗全部高級功能。

*只限新用戶;每位用戶只可獲得一次試用。

甚麼是工作階段劫持?權杖遭竊後為何能繞過正常帳戶登入 | AethoVPN