CVE-2025-11330CVE-2025-11330是PHPGurukul美容院管理系统(Beauty Parlour Management System)1.1版本中存在的一个SQL注入漏洞。该漏洞位于管理后台的/admin/sales-reports-detail.php文件中,由于对用户输入的参数fromdate(起始日期)和todate(结束日期)未进行充分的过滤和参数化处理,导致攻击者可以通过构造恶意的SQL语句注入到后台数据库查询中,从而实现未授权的数据访问、篡改或删除操作。该漏洞可以远程利用,攻击复杂度较低,仅需要低权限认证即可发起攻击。由于漏洞利用代码已被公开披露,任何具备基本技术能力的攻击者都可以利用此漏洞对目标系统造成损害。该漏洞的CVSS 3.1评分为6.3分,属于中危级别,对系统的机密性、完整性和可用性均会造成低程度的影响。PHPGurukul美容院管理系统是一款用于管理美容院日常运营的开源Web应用程序,包括客户管理、预约管理、销售报表等功能模块。该系统的销售报表详情页面是管理员常用的功能,因此一旦该页面存在SQL注入漏洞,将对美容院的核心业务数据安全构成严重威胁。
该漏洞的根因在于/admin/sales-reports-detail.php文件在处理销售报表查询请求时,未对fromdate和todate参数进行严格的输入验证和参数化查询处理。具体而言,当管理员或具有低权限的用户访问销售报表详情页面并提交日期范围查询时,系统直接将用户输入的fromdate和todate参数拼接到SQL查询语句中,而没有使用预编译语句(Prepared Statements)或适当的转义函数(如mysqli_real_escape_string等)。攻击者可以通过在日期参数中注入SQL元字符(如单引号'、注释符--、UNION关键字等)来构造恶意查询。
例如,正常的查询语句可能为:
SELECT * FROM sales_reports WHERE date BETWEEN 'fromdate' AND 'todate'
攻击者可以将fromdate参数设置为:
' UNION SELECT 1,username,password,4 FROM admin_users-- -
从而将原始查询变为:
SELECT * FROM sales_reports WHERE date BETWEEN '' UNION SELECT 1,username,password,4 FROM admin_users-- -' AND ''
这种注入方式可以绕过认证机制获取数据库中的敏感信息,包括管理员凭据、客户数据等。攻击还可以进一步利用数据库的特性(如MySQL的LOAD_FILE()、INTO OUTFILE等)进行文件系统操作,甚至通过堆叠查询执行多条SQL语句。漏洞利用无需用户交互,攻击复杂度低,远程即可发起攻击。