CVE-2026-7549SourceCodester Pharmacy Sales and Inventory System 1.0版本中存在严重的安全漏洞。该漏洞位于/ajax.php?action=delete_customer接口,由于程序未对用户提交的ID参数进行严格的过滤和验证,直接将其拼接到SQL查询语句中,导致产生了SQL注入漏洞。攻击者无需任何认证即可远程利用此漏洞,通过发送特制的恶意请求,即可操纵后端数据库执行任意SQL命令。目前该漏洞的利用代码已被公开,建议相关用户尽快采取措施进行修复。
该漏洞的技术根源在于应用程序在处理删除客户(delete_customer)的业务逻辑时,存在输入验证缺失的问题。具体来说,在/ajax.php文件中,当接收action参数为delete_customer的请求时,系统直接获取了HTTP请求中的ID参数,并将其动态拼接到SQL DELETE或SELECT语句中执行,而没有使用PDO或MySQLi等提供的参数化查询机制。
攻击者可以利用这一弱点,构造包含单引号、注释符(如--或#)以及特定SQL语意的Payload。例如,通过注入' OR '1'='1'等逻辑判断语句,攻击者可以绕过原本的ID限制,或者通过基于时间的盲注(如SLEEP(5))来逐个提取数据库中的敏感数据信息。由于CVSS向量显示PR:N(无需权限)和UI:N(无需交互),这极大地降低了攻击门槛,使得任何能够访问该Web接口的攻击者都有可能完全控制数据库内容,造成数据泄露、数据丢失或服务器被劫持的风险。