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 漏洞扫描器




**适用于任何网站 - 无需任何配置**
## 📋 目录
- [📖 概述](#-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 查看器识别
- ✅ `