CVE-2021-42193CVE-2021-42193是nopCommerce 4.40.3版本中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞位于后台管理界面的产品编辑页面,具体路径为/Admin/Product/Edit/[id]。攻击者可以通过在产品名称(Product Name)字段中注入恶意的JavaScript脚本代码来实现XSS攻击。由于nopCommerce在保存产品信息时未对产品名称字段进行充分的输入过滤和输出编码,恶意脚本会被持久化存储到数据库中。每当普通用户或管理员在前台商店浏览该产品时,浏览器会自动执行嵌入在产品名称中的恶意脚本,从而触发XSS攻击。该漏洞的CVSS 3.1评分为6.1,属于中危级别。虽然无需认证即可利用,但需要用户交互(如浏览被注入恶意代码的产品页面)才能触发攻击。该漏洞可能导致用户会话劫持、敏感信息窃取、钓鱼攻击以及恶意操作执行等安全风险,对电商平台的用户数据和系统安全构成严重威胁。
nopCommerce是一款基于ASP.NET Core的开源电子商务平台,CVE-2021-42193漏洞存在于其4.40.3版本的后台管理模块中。
漏洞原理:nopCommerce在处理产品名称字段时,未对用户输入进行充分的HTML实体编码或安全过滤。当管理员在/Admin/Product/Edit/[id]页面编辑产品信息并提交包含恶意JavaScript代码的产品名称时,该数据会被直接存储到数据库中。由于前端展示页面在渲染产品名称时直接使用原始数据而未进行输出编码,恶意脚本会在用户浏览器中执行。
利用方式:
1. 攻击者获取管理员权限或利用其他途径访问产品编辑功能;
2. 在产品名称字段中注入XSS Payload,例如:<script>alert(document.cookie)</script> 或 <img src=x onerror=alert(1)>;
3. 保存产品信息,恶意代码被持久化存储;
4. 当任何用户(包括前台顾客)浏览该产品详情页面时,嵌入的脚本自动执行;
5. 攻击者可通过窃取的Cookie进行会话劫持,或执行其他恶意操作。
该漏洞属于存储型XSS,危害性较大,因为恶意代码会持续影响所有访问该页面的用户,且无需特殊的社会工程学诱导即可触发。