CVE-2025-65379CVE-2025-65379是PHPGurukul Billing System 1.0中存在的一个中危SQL注入漏洞。该系统是一款基于PHP和MySQL开发的开源账单管理系统,广泛应用于小型企业和个人商户的日常财务管理。漏洞位于管理后台的密码恢复功能模块,具体路径为/admin/password-recovery.php。攻击者可以通过该接口的username和mobileno参数,注入恶意的SQL代码片段,从而实现未授权的数据库操作。由于密码恢复功能通常无需认证即可访问,因此漏洞具有较高的可利用性。攻击成功后,攻击者可能获取系统敏感信息,包括用户账户凭证、业务数据等,甚至可能在特定配置下实现系统命令执行。该漏洞的CVSS评分为6.5,属于中等严重程度,但考虑到其无需认证即可利用的特性,对暴露在互联网的管理后台系统构成实质性威胁。建议受影响的用户尽快采取修复措施或实施临时缓解策略。
漏洞根源在于PHPGurukul Billing System 1.0的密码恢复功能未对用户输入进行充分的输入验证和参数化处理。在/admin/password-recovery.php文件中,程序直接获取username和mobileno参数的值,并将其直接拼接到SQL查询语句中,形成动态SQL查询。典型的漏洞代码模式如下:程序首先通过$_POST或$_GET获取用户提交的参数,然后使用字符串拼接方式构建SQL语句,如:$sql = "SELECT * FROM users WHERE username='$username' AND mobileno='$mobileno'"。这种实现方式允许攻击者通过在参数值中嵌入单引号、UNION SELECT、布尔盲注或时间盲注等SQL技术,绕过认证机制或提取数据库中的敏感信息。攻击者可以利用UNION注入获取其他表的数据,或使用布尔盲注基于页面响应差异推断数据内容。在MySQL数据库环境下,攻击者还可能利用INTO OUTFILE语句将webshell写入服务器,实现远程代码执行。完整的攻击利用通常需要结合SQLMAP等自动化工具或手动构造 payloads 来逐步探测和利用。