CVE-2026-9342CVE-2026-9342是SourceCodester Hospitals Patient Records Management System 1.0版本中的一个高危SQL注入漏洞。该系统是一款用于医院病患记录管理的Web应用程序,广泛应用于中小型医疗机构进行患者信息管理、病历记录查询等日常业务操作。漏洞存在于管理后台的病历查看功能模块中,具体位于/admin/patients/view_history.php文件。该文件在处理用户输入的ID参数时,未对用户提交的参数进行充分的输入验证和SQL语句预编译处理,导致攻击者可以通过构造恶意SQL语句片段,实现对数据库的未授权访问和操作。攻击者利用该漏洞可获取数据库中的敏感患者信息,包括个人身份信息、病历记录、诊断数据等机密内容。在特定条件下,攻击者还可能通过SQL注入获取系统操作权限,进一步控制整个Web服务器。由于该漏洞的利用复杂度较低且已有公开的漏洞利用代码(PoC),对互联网暴露的管理后台系统构成了严重的安全威胁。建议受影响用户立即采取修复措施,避免敏感医疗数据泄露。
该SQL注入漏洞源于/admin/patients/view_history.php文件对用户输入参数ID的信任。在标准的Web应用安全实践中,所有用户可控的输入都应该被视为不可信数据,需要进行严格的输入验证和参数化查询处理。然而,该系统在处理ID参数时,直接将用户输入拼接到SQL查询语句中,未采用预处理语句(Prepared Statements)或参数化查询机制。攻击者可以通过在ID参数中注入SQL语句片段,如使用UNION SELECT、布尔盲注、时间盲注或报错注入等技术,绕过应用程序的正常逻辑,执行任意SQL命令。具体而言,攻击者可通过构造如ID=1' OR '1'='1的Payload实现认证绕过,或使用ID=1' AND SLEEP(5)--等Payload进行基于时间的盲注攻击,以逐步提取数据库中的敏感信息。该漏洞属于典型的OWASP Top 10中的A1:2017-注入类漏洞。成功利用此漏洞后,攻击者可以读取数据库中的患者个人信息、医疗记录、诊断报告等敏感数据,在某些配置下还可能通过LOAD_FILE()、INTO OUTFILE等函数读取服务器敏感文件或写入webshell,实现远程代码执行。