CVE-2025-65215CVE-2025-65215是Sourcecodester开发的Web-based Pharmacy Product Management System(基于Web的药房产品管理系统)v1.0版本中存在的一个跨站脚本(XSS)漏洞。该漏洞位于产品管理系统的供应商管理功能模块中,具体在/product_expiry/add-supplier.php页面的Supplier Name(供应商名称)字段。攻击者可以利用此漏洞在供应商名称输入框中注入恶意的JavaScript代码,当其他用户访问该页面或查看相关数据时,恶意脚本将在受害者浏览器中执行,从而窃取用户会话Cookie、劫持用户账户、进行钓鱼攻击或修改页面显示内容。由于该漏洞无需认证即可利用(PR:N),但需要用户交互(UI:R),攻击者可能通过社会工程学手段诱导管理员或相关人员访问恶意构造的页面。此漏洞的CVSS评分为6.1,属于中等严重程度,对系统机密性和完整性造成一定影响。
该漏洞是一个典型的存储型XSS(Stored XSS)漏洞,存在于PHP开发的Web应用程序中。漏洞产生的根本原因是在处理用户输入时未对Supplier Name字段进行充分的输入验证和输出编码。具体来说,当用户在/product_expiry/add-supplier.php页面的供应商名称输入框中提交数据时,后端代码直接将用户输入存储到数据库中,而没有对特殊字符(如<、>、"、'、script等)进行过滤或转义。在后续页面加载或数据展示时,这些未经过滤的数据被直接输出到HTML页面中,导致嵌入的JavaScript代码被浏览器解析执行。攻击者只需构造包含<script>标签或事件处理器(如onerror、onload等)的Payload,例如:<script>alert(document.cookie)</script>或<img src=x onerror=alert(1)>,即可触发XSS攻击。由于该数据被存储在数据库中,所有访问该供应商信息的用户都会受到攻击影响。