kudos5566/CVE-CapitalOne-Eno-Extension-Clickjacking
GitHub: kudos5566/CVE-CapitalOne-Eno-Extension-Clickjacking
该项目披露了 Capital One Eno 浏览器扩展中一个高危点击劫持漏洞,并提供完整的概念验证代码和修复建议。
Stars: 0 | Forks: 0
**漏洞标题:**
Capital One Eno 浏览器扩展中导致敏感数据泄露的 UI 重绘(Clickjacking)
**漏洞分类:**
- CWE-1021:对渲染的 UI 层或框架的不当限制
- CWE-200:向未经授权的参与者暴露敏感信息
**CVSS v3.1 评分:**
分数:7.4(高危)
向量:CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
**根本原因分析与证据链:**
该漏洞源于扩展架构中的两个严重设计缺陷,它们共同构成了一条完整的 Source-to-Sink 攻击链。
**缺陷 1:缺乏 UI 隔离(Source)**
该扩展通过 `web_accessible_resources` 暴露其核心 UI 页面,且未能实施严格的内容安全策略(CSP)。具体而言,它缺少 `frame-ancestors 'none'` 指令。此外,该扩展将其 UI 直接注入到不受信任的宿主页面 DOM 中(在 `content-scripts.min.js` 中验证使用 `id="cap-one-ext-container"`)。这使得任何恶意宿主页面都能操纵扩展的 CSS 属性(例如 `opacity: 0.001 !important`、`position: fixed !important`),使其完全不可见,从而劫持用户的点击操作。
**缺陷 2:不安全的数据泄露 Sink**
对扩展的 `main.js` 进行静态分析发现,“复制到剪贴板”功能依赖于已弃用的 `document.execCommand("copy")` API。
- **机制缺陷:** 该 API 直接将数据写入操作系统全局剪贴板,而不是隔离的仅限扩展使用的内存状态。
- **利用方式:** 当通过 UI 重绘点击不可见的 `#copy_card_number` 按钮(根据 `assets/css/dnd_card.css`,位于精确的 CSS 坐标 `top: 271px; left: 275px`)时,敏感的虚拟信用卡号会脱离扩展的沙箱,流入受害者的系统剪贴板。
**漏洞攻击链(武器化 PoC):**
1. **诱饵、服务器设置与注入:**
- **关键测试限制:** PoC **必须**托管在本地或远程 HTTP/HTTPS 服务器上(例如使用 `python -m http.server 8080`)。通过 `file://` 协议直接打开文件会失败,因为现代浏览器对本地文件路径上的扩展 DOM 注入和源访问有严格限制。
- **攻击向量:** 攻击者托管包含隐藏信用卡表单(`autocomplete="cc-number"`)的武器化页面,迫使 Eno 扩展在目标交互时尝试进行 UI 注入。
2. **定位(光标追踪):** 恶意页面使用 JavaScript `mousemove` 事件将不可见的扩展 iframe 动态绑定在受害者光标的正下方,完美地将扩展的 `#copy_card_number` 按钮与光标对齐(偏移量 X: 282,Y: 278)。这确保了无论屏幕分辨率如何,点击命中率均为 100%。
3. **执行与规避:** 受害者点击诱饵页面上的任意位置。点击操作穿透不可见的 iframe,迫使扩展执行 `execCommand("copy")`。PoC 在触发 `window.blur` 时立即隐藏 iframe(`display: none`)以保持隐蔽。
4. **通过社会工程学进行泄露:** PoC 呈现一个虚假的“网络超时/安全验证”模态框,提示用户点击按钮。这诱骗用户与浏览器原生的“粘贴”权限气泡进行交互,使得恶意页面能够执行 `navigator.clipboard.readText()` 并成功窃取信用卡数据。
**修复建议:**
1. 在 `manifest.json` 中强制实施带有 `frame-ancestors 'none';` 的严格 CSP。
2. 将注入的 UI 封装在封闭的 `Shadow DOM` 中,以防止宿主页面进行 CSS 操纵。
3. 弃用 `execCommand("copy")`,转而使用安全、隔离的状态传递方式;或者在执行敏感的剪贴板操作之前,要求在隔离的扩展弹出窗口中进行二次确认。
标签:Clickjacking, PoC, 后端开发, 多模态安全, 数据可视化, 暴力破解, 浏览器扩展安全, 漏洞披露