veronimo669/pdf.js-CVE-2024-4367

GitHub: veronimo669/pdf.js-CVE-2024-4367

一款零配置的客户端漏洞扫描器,用于自动检测网站中易受 CVE-2024-4367 影响的 PDF.js 实例并提供验证与修复方案。

Stars: 1 | Forks: 0

# 🚨 CVE-2024-4367 - 通用 PDF.js 漏洞扫描器
![版本](https://img.shields.io/badge/version-1.0.0-red) ![CVSS](https://img.shields.io/badge/CVSS-9.8-critical) ![CVE](https://img.shields.io/badge/CVE-2024--4367-red) ![许可证](https://img.shields.io/badge/license-MIT-blue) **适用于任何网站 - 无需任何配置**
## 📋 目录 - [📖 概述](#-overview) - [⚡ 快速开始](#-quick-start) - [🔍 检测内容](#-what-it-detects) - [🛠️ 工作原理](#️-how-it-works) - [📊 输出示例](#-output-examples) - [🔒 修复指南](#-remediation-guide) - [🎯 利用向量](#-exploitation-vectors) - [🧪 测试说明](#-testing-instructions) - [📝 技术细节](#-technical-details) - [⚠️ 法律免责声明](#️-legal-disclaimer) - [📚 参考资料](#-references) ## 📖 概述 **CVE-2024-4367** 是 PDF.js(版本 < 4.2.67)中的一个**严重漏洞**,允许通过恶意 PDF 文件**执行任意 JavaScript**。此扫描器可以**自动检测**任何网站上的存在漏洞的 PDF.js 实例。 ### 为什么这款扫描器与众不同 - ✅ **零配置** - 即时适用于任何网站 - ✅ **通用检测** - 扫描所有 JavaScript bundle - ✅ **无依赖** - 纯 JavaScript - ✅ **概念验证** - 生成测试 PDF - ✅ **可操作的结果** - 清晰的修复步骤 ### 漏洞详情 PDF.js 存在一个缺陷,**嵌入在 PDF 文件中的 JavaScript** 会在没有适当沙箱隔离的情况下被执行,允许攻击者: - 🏴‍☠️ 从 localStorage/sessionStorage **窃取身份验证 token** - 🍪 **窃取会话 cookie** - 📁 **访问本地文件**(如果是 Electron/桌面应用) - 🔐 使用窃取的凭证**以受害者身份执行操作** - 🌐 通过 XSS **向内部网络进行渗透** ## ⚡ 快速开始 ### 方法 1:浏览器控制台(最简单) 1. 打开目标网站 2. 按 `F12` 打开 DevTools 3. 转到 **Console** 标签页 4. **粘贴整个扫描器脚本** 5. 按 `Enter` 6. 在屏幕上查看**可视化结果**! ### 方法 2:Bookmarklet 使用此 URL 创建一个书签: ``` javascript:(function(){const s=document.createElement('script');s.src='https://cdn.jsdelivr.net/gh/yourusername/CVE-2024-4367-Scanner/scanner.js';document.body.appendChild(s);})(); ``` ### 方法 3:直接下载 ``` git clone https://github.com/yourusername/CVE-2024-4367-Scanner cd CVE-2024-4367-Scanner # 打开任意网站并运行脚本 ``` ## 🔍 检测内容 ### 第一阶段:JavaScript Bundle 扫描 - ✅ PDF.js 版本检测 - ✅ 易受攻击版本识别 (< 4.2.67) - ✅ Package.json 引用 - ✅ Node_modules 路径 ### 第二阶段:PDF 查看器识别 - ✅ `