KeyFrame內部研究專用

DEF CON 33 - Browser Extension Clickjacking: One Click and Your Credit Card Is Stolen - Marek Tóth

DEFCONConference·2月18日週三·50 min英文

三句話摘要

安全研究員揭露瀏覽器擴充套件的點擊劫持(ClickJacking)漏洞,攻擊者只需讓受害者點擊幾次即可竊取信用卡資料、個人資料與帳號密碼。 --- 只要網站有 DOM 注入能力或擴充套件設定不當,攻擊者就能利用普通的「接受 cookie」點擊竊走你的信用卡與帳號密碼——ClickJacking 並未消失,只是從 Web 搬到了擴充套件。 瀏覽器擴充套件安全責任歸屬不同於 Web 應用:Web 應用可依賴瀏覽器的同源政策、Cookie 屬性等防護,而擴充套件的安全規則須由開發者自行在 manifest.json 中定義,因此防護設定常被遺漏。

重點整理

重點
  • 1

    瀏覽器擴充套件安全責任歸屬不同於 Web 應用:Web 應用可依賴瀏覽器的同源政策、Cookie 屬性等防護,而擴充套件的安全規則須由開發者自行在 manifest.json 中定義,因此防護設定常被遺漏。

  • 2

    iframe 型攻擊利用 Web Accessible Resources 配置錯誤:若擴充套件的 manifest v2 未設定 matches 白名單,攻擊者可跨域載入其 UI 頁面至透明 iframe,讓使用者在不知情下操作擴充套件介面,NordPass 即因此被用四次點擊共享所有密碼項目給攻擊者。

  • 3

    DOM 型攻擊操控注入頁面的 UI 元件,可細分為根元素、子元素、父元素(body/HTML)與疊加層等多種子類:攻擊腳本建立偽裝的侵入式元素(如 cookie 橫幅),同時創建透明表單觸發密碼管理器的手動自動填充下拉選單,使用者點擊「接受 cookie」時實際上選取了憑證。

  • 4

    子網域自動填充預設行為擴大攻擊面:所有測試的密碼管理器預設允許跨子網域自動填充,若攻擊者在受信任主域的任一子網域上發現 XSS 漏洞,即可結合此技術竊取主域憑證與 TOTP 一次性驗證碼。

  • 5

    --

實用技巧與重點

乾貨
  • 具體數字與成果
  • 測試密碼管理器總數:11 款
  • 存在信用卡/個人資料洩漏漏洞:10 款(2 款有防護)
  • 存在登入憑證洩漏漏洞:10 款(僅 Dashlane 有防護,但預設仍為自動填充)
  • FIDO2/Passkey 相關測試:7 個解決方案中 4 個存在 Challenge 未綁定 Session 漏洞
  • NordPass 賞金:$10,000 USD
  • 披露時估計受影響活躍安裝數:約 4,000 萬個
  • 攻擊所需使用者點擊次數:1–4 次
  • 已修復的密碼管理器
  • NordPass、Proton Pass、RoboForm、Dashlane、Keeper
  • 仍存在漏洞的密碼管理器(截至演講日)
  • Bitwarden、1Password(以及 iCloud Passwords 在部分攻擊類型上)
  • 工具、技術名稱
  • Popover API(將攻擊元素置於最上層,pointer-events: none 穿透點擊)
  • Mutation Observer API(可用於防禦:偵測擴充套件元素樣式被竄改)
  • Shadow DOM(closed shadow root 可作為防禦手段)
  • pointer-events: none(繞過 Z-index 限制實現完全覆蓋攻擊)
  • Web Accessible Resources(manifest.json 中需設定 matches 白名單)
  • 攻擊步驟(DOM 型完整流程)
  • 建立偽裝侵入式元素(cookie 橫幅等)並套用 Popover API
  • 建立透明表單(login/個人資料/信用卡欄位),設定 opacity: 0
  • 對表單 input 執行 focus(),觸發密碼管理器自動填充下拉選單
  • 偵測 onchange 事件,擷取填入值
  • 收到最後一個欄位值後傳送至攻擊者伺服器,隱藏所有元素
  • 緩解建議(使用者端)
  • 停用手動自動填充,改用複製貼上
  • 設定擴充套件為「僅點擊時存取網站」(Chromium 瀏覽器)
  • 精確設定自動填充 URL(不使用子網域萬用符)
  • --

結論

結論

只要網站有 DOM 注入能力或擴充套件設定不當,攻擊者就能利用普通的「接受 cookie」點擊竊走你的信用卡與帳號密碼——ClickJacking 並未消失,只是從 Web 搬到了擴充套件。

完整解析

詳細

這場演講由來自捷克共和國、擁有 7 年資安經驗的滲透測試研究員主講,核心論點是:傳統 ClickJacking 攻擊因 X-Frame-Options、CSP 與 SameSite Cookie 等防護機制已近乎失效,但瀏覽器擴充套件面對同樣的攻擊手法時卻大量暴露。原因在於 Web 應用可仰賴瀏覽器提供同源策略等底層防護,而擴充套件的安全規則須開發者自行定義於 manifest.json 中,一旦配置錯誤便無從補救。

研究員將攻擊分為兩大類。iframe 型:若擴充套件在 manifest v2 的 Web Accessible Resources 中未限制 matches 白名單,攻擊者可跨域將擴充套件的 HTML 介面載入透明 iframe(opacity: 0),讓使用者在不知情下與之互動。以 NordPass 為例,研究員在 2023 年 12 月發現其 app.html 可被任意網域載入,透過四次點擊(利用 CAPTCHA 拼圖互動)即可將受害者帳戶下的所有密碼項目(含信用卡、個人資料、登入密碼)共享給攻擊者,且受害者全程無任何通知,此漏洞最終獲得 $10,000 美元賞金。

DOM 型的手法更為廣泛且難以防禦。密碼管理器會將下拉填充選單注入至頁面 DOM,攻擊者可透過多種方式操控其可見性:直接修改根元素 opacity、修改子元素或 Shadow DOM 節點、將透明度設定在 body 或 html 層級(後者可搭配背景截圖偽裝成正常頁面),或利用 Popover API 將攻擊元素置於最頂層並搭配 `pointer-events: none` 使點擊穿透至下方的擴充套件 UI。攻擊腳本的標準流程是:建立偽裝的 cookie 橫幅或 Cloudflare 驗證頁面,同步創建透明的個人資料或信用卡表單並觸發 focus(),使密碼管理器自動填充選單出現;使用者以為在點擊「接受 cookie」,實際上卻選取了密碼管理器的憑證項目,資料隨即被傳送至攻擊者伺服器。研究員亦示範了「跟隨滑鼠游標」模式,使填充選單始終跟著游標移動,令網站上任意一次點擊皆可觸發資料洩漏。

測試結果顯示,11 款密碼管理器中 10 款存在信用卡或個人資料洩漏漏洞,8 款可被直接利用;在登入憑證竊取場景下(需搭配 XSS 等漏洞),僅 Dashlane 預設有防護。研究員指出所有密碼管理器預設均允許跨子網域自動填充,這代表若攻擊者在任一受信任子網域發現 XSS,即可一併竊取主域憑證與 TOTP 驗證碼。此外,Passkey 實作測試中亦有 4/7 的解決方案因 Challenge 未綁定 Session,可能遭攻擊者劫持身份驗證流程、新增惡意裝置取得持久存取。截至演講當日,Bitwarden 與 1Password 仍存在漏洞,受影響活躍安裝數估計達 4,000 萬。防禦方面,開發者需使用 Mutation Observer、closed shadow root 等 API 主動偵測樣式竄改,但現有瀏覽器 API 尚無法完整涵蓋所有攻擊向量,研究員建議可能需要新的瀏覽器層級 API 才能根本解決。

---

關鍵時刻

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 的組織必須立即修補。