CVE-2025-11613CVE-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可供使用。