CVE-2025-11479CVE-2025-11479是SourceCodester公司开发的婚宴预订管理系统(Wedding Reservation Management System)1.0版本中存在的一个高危SQL注入漏洞。该漏洞存在于系统后端文件function.php中的insertReservation函数内,攻击者可以通过操纵传入的number参数执行恶意SQL语句,从而绕过正常的数据验证流程,直接与底层数据库进行交互。
该漏洞的CVSS 3.1评分为7.3分,属于高危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需任何权限认证(PR:N),也无需用户交互(UI:N),表明该漏洞可以被远程未授权攻击者轻易利用。漏洞对机密性、完整性和可用性均产生低级别影响(C:L/I:L/A:L),意味着攻击者可以读取、修改数据库中的敏感数据,并可能导致数据库服务异常。
目前该漏洞的利用方式已公开披露,攻击者可以从公开渠道获取PoC代码并实施攻击。由于该系统通常用于婚庆公司管理预订业务,数据库中可能存储有客户姓名、联系方式、预订详情等敏感个人信息,一旦被利用可能导致大规模数据泄露。此外,SQL注入还可能被进一步利用进行权限提升、数据篡改甚至远程代码执行,对业务系统造成严重威胁。
该SQL注入漏洞位于SourceCodester婚宴预订管理系统1.0版本的function.php文件中的insertReservation函数。当用户提交预订请求时,系统会将number参数直接拼接到SQL INSERT语句中,而未对其进行充分的输入验证和参数化处理,从而产生了SQL注入漏洞。
从技术角度看,insertReservation函数负责将新的预订信息插入数据库。在正常的业务流程中,该函数会接收包括预订编号(number)在内的多个参数。然而,由于number参数未经过滤或转义,攻击者可以通过在number参数中注入恶意SQL片段(如单引号闭合后的UNION SELECT语句或基于时间的盲注语句),改变原有SQL查询的逻辑结构。
例如,攻击者可以构造如下payload:
1' UNION SELECT 1,user(),database(),version(),5,6,7,8-- -
这种payload会闭合原有的INSERT语句中的字符串引号,并通过UNION SELECT语句将数据库的敏感信息(如当前用户、数据库名、版本信息等)作为查询结果返回。由于漏洞存在于INSERT语句中,攻击者还可以利用基于时间的盲注技术(如使用SLEEP函数)逐字符提取数据库内容。
由于该漏洞无需认证即可利用,且攻击复杂度极低,攻击者可以通过简单的HTTP POST请求直接对目标系统发起攻击。漏洞利用成功后,攻击者可以获取数据库中的全部数据,包括管理员凭据、客户信息等敏感内容,并可能进一步实施更深层次的攻击。