KeyFrame內部研究專用

Course Preview | Advanced API Security & Penetration Testing | CyberSapiens EdTech

CyberSapiens·5月27日週三·3 min中文

三句話摘要

本影片介紹 JWT(JSON Web Token)常見身份驗證漏洞,重點示範將 `alg` 欄位設為 `none` 以繞過簽名驗證的攻擊手法。 --- JWT 的 `alg: none` 漏洞看似簡單,卻能直接繞過身份驗證,應在伺服器端強制白名單演算法並拒絕 `none` 值以杜絕此類攻擊。 Authentication vs Authorization 的區別:影片先釐清「身份驗證(Authentication)」與「授權(Authorization)」兩個概念,前者確認你是誰,後者決定你能做什麼,混淆兩者是許多安全漏洞的根源。

重點整理

重點
  • 1

    Authentication vs Authorization 的區別:影片先釐清「身份驗證(Authentication)」與「授權(Authorization)」兩個概念,前者確認你是誰,後者決定你能做什麼,混淆兩者是許多安全漏洞的根源。

  • 2

    JWT `alg: none` 漏洞:JWT Header 含有 `alg` 欄位指定簽名演算法,若伺服器未強制驗證此欄位,攻擊者可將其設為 `none`,讓伺服器在沒有簽名的情況下接受偽造的 token。

  • 3

    批量測試流程:影片展示使用 URL 列表批量送出修改後的請求,透過 HTTP 狀態碼(200/400)快速篩選出存在漏洞的端點,效率優於逐一手動測試。

  • 4

    弱點鏈結(Vulnerability Chaining):JWT 繞過後可進一步嘗試 OTP 繞過等後續攻擊,說明單一漏洞往往是更深層入侵的起點。

  • 5

    --

實用技巧與重點

乾貨
  • 漏洞類型:JWT `alg: none` bypass(OWASP JWT 常見弱點之一)
  • 目標欄位:JWT Header 中的 `alg` 參數
  • 測試回應碼:200 = 漏洞存在(繞過成功);400 = 請求被拒絕(無漏洞或內容未找到)
  • 工具流程:提供 URL 列表 → 點擊 Start → 批量檢查回應
  • 後續攻擊目標:OTP(一次性密碼)驗證繞過
  • 測試信箱範例:gmail.com 帳號作為 OTP 接收端進行驗證
  • --

結論

結論

JWT 的 `alg: none` 漏洞看似簡單,卻能直接繞過身份驗證,應在伺服器端強制白名單演算法並拒絕 `none` 值以杜絕此類攻擊。

完整解析

詳細

身份驗證(Authentication)與授權(Authorization)是 Web 安全的兩大核心概念,影片首先從概念層面加以區分:前者用於確認使用者身份,後者則決定已驗證的使用者能否存取特定資源。理解兩者的差異是審計應用程式安全的基礎,也是本次測試的出發點。

JWT 是現代 Web 應用廣泛使用的身份憑證格式,由 Header、Payload、Signature 三部分組成。Header 中的 `alg` 欄位指定用於生成簽名的演算法(如 HS256、RS256)。然而,JWT 規格允許將 `alg` 設為 `none`,代表不需要簽名。若伺服器端沒有明確拒絕這種情況,攻擊者只需將 Header 的 `alg` 改為 `none` 並移除 Signature 部分,即可偽造任意 Payload(例如竄改使用者 ID 或角色)而不被察覺,因為伺服器根本不會驗證簽名。

影片的實際示範部分,講者透過一個測試工具,匯入多個目標 URL,批量送出帶有 `alg: none` 的偽造 JWT 請求。工具會自動解析每個端點的 HTTP 回應碼:200 代表請求被接受,即漏洞存在;400 則代表伺服器拒絕,回應訊息顯示「無效的身份驗證」或「內容未找到」,表示該端點有正確的驗證機制。這種批量化的測試方式大幅提升了滲透測試的效率。

最後,影片點到 OTP(一次性密碼)作為進一步攻擊的延伸目標,暗示在 JWT 繞過成功後,攻擊者可能還能結合 OTP 驗證機制的弱點,進一步控制帳號。這種「漏洞鏈結(Vulnerability Chaining)」的思維是進階滲透測試的核心策略——單一漏洞不一定致命,但串聯起來往往能達到完整入侵的效果。

---

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。