CVE-2025-68890CVE-2025-68890是WordPress插件e-shops-cart2中发现的一个高危安全漏洞,CVSS评分为7.1,属于DOM型跨站脚本攻击(DOM-Based XSS)漏洞。该漏洞存在于Web页面生成过程中对用户输入的不当处理,允许攻击者在受害者的浏览器上下文中执行恶意JavaScript代码。
e-shops-cart2是一款用于WordPress的电子商务购物车插件,由hands01开发。该插件在处理用户输入时未能正确对特殊字符进行HTML转义或编码,导致攻击者可以通过构造特定的恶意Payload注入到页面内容中。当其他用户访问包含恶意代码的页面时,浏览器会将其解析为可执行脚本,从而窃取用户会话Cookie、劫持用户账户、进行钓鱼攻击或传播恶意软件。
DOM型XSS与传统存储型或反射型XSS不同,其特点是在客户端JavaScript代码执行过程中,恶意脚本被直接注入到DOM(文档对象模型)中,而非通过服务器端响应返回。这种攻击方式更难被传统Web应用防火墙(WAF)检测,因为攻击载荷可能不会出现在服务器日志中。
该漏洞影响e-shops插件从任意版本到1.0.4的所有版本。由于该插件被广泛应用于WordPress网站,任何使用此插件的网站都可能受到攻击。攻击者无需特殊权限即可发起攻击,但需要诱导用户访问恶意链接或页面。
DOM型XSS漏洞的技术原理在于应用程序的客户端JavaScript代码在动态构建DOM树时,直接将用户可控的数据插入到页面中而未进行适当的安全处理。
在e-shops-cart2插件中,漏洞很可能存在于处理URL参数或用户输入的JavaScript代码段。当插件从document.location、document.URL或通过URL参数获取数据,并将其直接写入innerHTML、document.write()或其他DOM操作方法时,攻击者可以通过在URL中注入恶意脚本来触发漏洞。
典型的DOM型XSS攻击向量包括:
1. 通过URL片段标识符(#)传递Payload,避免服务器端记录
2. 利用JavaScript的eval()、setTimeout()、setInterval()等函数执行动态代码
3. 通过DOM操作方法如innerHTML、outerHTML、insertAdjacentHTML等注入HTML内容
攻击者可能使用的PoC URL格式类似:
[目标URL]?param=<script>alert(document.cookie)</script>
或利用JavaScript事件处理器:
[目标URL]?param=<img src=x onerror=alert(document.domain)>
防御DOM型XSS需要从多个层面入手:输入验证应采用白名单机制,仅允许已知安全的字符;输出编码应根据插入位置使用适当的编码方式(如HTML编码、URL编码、JavaScript编码);避免使用eval()和innerHTML等危险方法;使用Content Security Policy (CSP)头部限制脚本执行。