IPBUF安全漏洞报告
English
CVE-2026-30531 CVSS 8.8 高危

CVE-2026-30531 SourceCodester在线订餐系统SQL注入漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-30531
漏洞类型
SQL注入
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
SourceCodester Online Food Ordering System

相关标签

SQL注入SourceCodesterWeb安全CVE-2026-30531数据泄露

漏洞概述

SourceCodester在线食品订购系统v1.0版本中存在严重的SQL注入漏洞。该漏洞位于Actions.php文件的save_category操作中,由于应用程序未能正确过滤用户通过“name”参数提交的输入,导致经过身份验证的攻击者能够注入恶意的SQL命令。成功利用此漏洞可能导致数据库信息泄露、数据篡改或服务器被完全控制,对系统机密性、完整性和可用性造成严重影响。

技术细节

该漏洞的根本原因在于SourceCodester Online Food Ordering System v1.0的后端代码在处理分类保存功能时缺乏足够的安全编码实践。具体而言,在Actions.php文件中,save_category操作直接接收HTTP请求中的“name”参数,并将其拼接到SQL查询语句中,而没有使用预编译语句(Prepared Statements)或进行严格的输入验证和转义。这种拼接方式使得攻击者可以通过构造特制的SQL语句片段作为“name”参数的值,从而改变原始查询的逻辑。由于攻击需要较低的权限(PR:L),攻击者只需拥有一个普通账户即可发起攻击。通过联合查询(UNION SELECT)或布尔盲注等技术,攻击者可以读取数据库中的敏感信息(如用户密码哈希、订单详情),甚至在某些情况下写入WebShell以获取服务器权限。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标系统为SourceCodester在线食品订购系统v1.0,并确定Actions.php为交互接口。
STEP 2
2. 获取凭证
攻击者注册或通过其他方式获取一个低权限用户账户,完成身份验证以获取有效的Session。
STEP 3
3. 构造Payload
攻击者针对Actions.php中save_category动作的“name”参数,构造包含SQL注入语段的恶意Payload。
STEP 4
4. 发起攻击
攻击者携带认证Cookie向服务器发送POST请求,注入Payload并执行恶意SQL查询。
STEP 5
5. 数据窃取
攻击者分析返回的页面内容或错误信息,提取数据库敏感数据或进一步控制数据库。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target_url = "http://target.com/Actions.php" # Attacker needs to be authenticated, provide valid session cookies cookies = { "PHPSESSID": "valid_session_id_here" } # Malicious payload to extract database version via SQL Injection # The 'name' parameter is vulnerable in the save_category action payload = "test' UNION SELECT 1, version(), 3, 4, 5-- -" data = { "action": "save_category", "name": payload } response = requests.post(target_url, data=data, cookies=cookies) if response.status_code == 200: print("[+] Payload sent successfully") print("[+] Response:") print(response.text) else: print("[-] Failed to send payload")

影响范围

SourceCodester Online Food Ordering System 1.0

防御指南

临时缓解措施
建议立即暂停使用受影响系统的save_category功能。在无法立即升级的情况下,开发人员应手动修改Actions.php文件,使用addslashes或mysqli_real_escape_string函数对“name”参数进行转义,并确保SQL语句使用单引号包裹变量以防止数值型注入,同时部署Web应用防火墙(WAF)拦截常见的SQL注入攻击模式。

参考链接

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