veronimo669/Lodash-CVE-poc
GitHub: veronimo669/Lodash-CVE-poc
Lodash库漏洞自动化POC工具
Stars: 0 | Forks: 0
# 🔴 CVE-2019-10744 | CVE-2018-16487 | CVE-2018-3721 | CVE-2021-23337
## Lodash 原型污染导致完全信息泄露 - POC
[](https://github.com)
[](https://nvd.nist.gov/vuln/detail/CVE-2019-10744)
[](https://nvd.nist.gov/vuln/detail/CVE-2018-16487)
[](https://nvd.nist.gov/vuln/detail/CVE-2018-3721)
[](https://nvd.nist.gov/vuln/detail/CVE-2021-23337)
[](https://lodash.com/)
## 📋 目录
- [概述](#overview)
- [受影响的 CVE](#cves-covered)
- [影响评估](#impact-assessment)
- [要求](#requirements)
- [快速开始](#quick-start)
- [POC 执行](#poc-execution)
- [预期输出](#expected-output)
- [利用细节](#exploitation-details)
- [检测方法](#detection-methods)
- [修复](#remediation)
- [参考](#references)
- [免责声明](#disclaimer)
## 📌 概述
此存储库包含针对 **Lodash 版本 ≤ 4.17.21** 中多个关键漏洞的 **概念验证 (POC)**,演示了原型污染如何导致:
- 🔓 **身份验证绕过**
- 🌐 **未经身份验证的 API 访问**
- 🔑 **秘密/令牌提取**
- 📡 **SSRF(服务器端请求伪造)**
- 💾 **敏感信息泄露**
POC 完全自动化,并直接在浏览器控制台中运行,无需任何额外工具。
## 🎯 受影响的 CVE
| CVE ID | 严重性 | 描述 | 受影响版本 |
|--------|----------|-------------|-------------------|
| **CVE-2019-10744** | 🔴 高 | `defaultsDeep` 函数中的原型污染 | ≤ 4.17.11 |
| **CVE-2018-16487** | 🔴 高 | `merge` 函数中的原型污染 | ≤ 4.17.4 |
| **CVE-2018-3721** | 🟡 中 | `mergeWith` 函数中的原型污染 | ≤ 4.17.5 |
| **CVE-2021-23337** | 🔴 高 | 通过 `template` 函数进行命令注入 | ≤ 4.17.20 |
## ⚠️ 影响评估
### 可能的攻击向量
| 攻击向量 | 影响 | 难度 |
|---------------|--------|------------|
| **原型污染** | 客户端权限提升 | 简单 |
| **身份验证绕过** | 无授权访问管理员功能 | 中等 |
| **通过代理端点的 SSRF** | 内部网络扫描、云元数据窃取 | 中等 |
| **秘密提取** | API 密钥、JWT 令牌、密码泄露 | 简单 |
| **信息泄露** | 从未受保护的 API 泄露敏感数据 | 简单 |
### CVSS 分数计算
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
基础分数:9.1(严重)
向量:NETWORK
攻击复杂性:低
所需权限:无
用户交互:无
机密性影响:高
完整性影响:高
## 💻 要求
- **目标:** 任何使用 Lodash ≤ 4.17.21 的 Web 应用程序
- **浏览器:** Chrome、Firefox、Edge 或任何现代浏览器
- **访问:** 浏览器控制台(F12)
- **网络:** 连接到获取 JavaScript 包的互联网连接
### 测试环境
- ✅ Angular 2+ 应用程序
- ✅ 使用 Lodash 的 React 应用程序
- ✅ Vue.js 应用程序
- ✅ Leaflet.js 地图应用程序
- ✅ Azure Front Door 托管应用程序
## 🚀 快速开始
### 步骤 1:打开目标网站
在浏览器中导航到目标 Web 应用程序。
### 步骤 2:打开开发者控制台
- **Chrome/Edge:** `F12` 或 `Ctrl+Shift+J`(Windows)/ `Cmd+Option+J`(Mac)
- **Firefox:** `F12` 或 `Ctrl+Shift+K`(Windows)/ `Cmd+Option+K`(Mac)
### 步骤 3:运行 POC
将 `poc.js` 中的整个脚本复制并粘贴到控制台中,然后按 `Enter`。
### 步骤 4:分析结果
查看控制台输出和页面上出现的视觉指示器。
标签:数据可视化