CVE-2025-63718CVE-2025-63718是SourceCodester PQMS(患者排队管理系统)1.0版本中的一个高危SQL注入漏洞。该系统是一款用于医疗机构管理患者预约排队的PHP应用。漏洞存在于api_patient_schedule.php端点中,具体问题出在appointmentID参数的处理上。由于该参数未经过充分的输入过滤和参数化查询处理,攻击者可以通过构造恶意的SQL语句片段,实现对数据库的未授权访问和操作。此漏洞无需任何认证即可被利用,攻击者只需通过HTTP请求向受影响端点发送特制的appointmentID参数值,即可触发SQL注入。这意味着任何能够访问该Web应用的网络用户都可以尝试利用此漏洞,可能导致敏感患者数据泄露、数据库内容篡改,甚至在某些配置下实现远程代码执行。CVSS评分6.5(中等严重级别)反映了该漏洞在无需认证的情况下可被利用,但影响范围仅限于机密性和完整性,对可用性无影响。
该SQL注入漏洞的根本原因在于api_patient_schedule.php文件中对用户输入的处理不当。开发者直接使用$_GET或$_POST方法获取appointmentID参数,并将其直接拼接到SQL查询语句中,而没有进行任何输入验证或使用参数化查询(Prepared Statements)。攻击者可以利用SQL注入技术执行以下操作:1)通过UNION SELECT提取数据库中的敏感信息,如用户凭证、管理员账号等;2)使用布尔型盲注(Boolean-based Blind SQL Injection)推断数据库内容,通过观察页面响应差异判断条件真假;3)利用时间型盲注(Time-based Blind SQL Injection),通过SLEEP()函数延迟响应来推断数据;4)通过LOAD_FILE()或INTO OUTFILE等函数读取服务器敏感文件或写入恶意文件。在实际利用中,攻击者通常会在appointmentID参数中插入类似' OR '1'='1的条件语句,或使用UNION注入技术联合恶意查询。由于系统未对SQL元字符进行过滤,特殊字符如单引号(')、双破折号(--)、分号(;)等都可以被成功传递到SQL引擎执行。