漏洞总结:药房产品管理系统 (Add Sales) 业务逻辑错误 漏洞概述 漏洞类型: 业务逻辑错误 (Business Logic Error) / 不适当的输入验证 (Improper Input Validation) 受影响产品: Pharmacy Product Management System (药房产品管理系统) 版本: 1.0 受影响组件: Add Sales ( ) 漏洞参数: (POST请求参数) 漏洞描述 该漏洞存在于 SourceCodester Pharmacy Product Management System 1.0 的 文件中。应用程序未能验证销售数量 ( ) 必须为正整数。攻击者可以提交负值(例如 -10)。 在后台逻辑中,系统通过从当前库存中减去销售数量来计算剩余库存 ( )。当 为负值时(例如 -10),计算结果变为 。这导致库存水平不降反升,攻击者可人为膨胀库存。 影响范围 1. 库存完整性受损: 攻击者可人为膨胀库存水平,破坏库存记录。 2. 财务差异: 扰乱成本计算和销售报告(例如产生负总成本)。 3. 潜在的逻辑绕过: 可用于绕过库存可用性检查或操纵退款逻辑。 POC 代码 修复方案 1. 输入验证: 在服务器端严格验证 参数。 2. 正整数检查: 确保 必须是一个大于 0 的整数。 3. 拒绝非法请求**: 如果输入不符合要求(如负数),应拒绝请求并返回错误信息。