CVE-2023-33732 是 MicroWorld Technologies eScan管理控制台 版本 14.0.1400.2281 中发现的一个**反射型跨站脚本(XSS)**漏洞。该缺陷存在于 新建策略 分配表单(AssignPolicyTemplate 端点)中,允许远程未认证攻击者向任何已认证用户(通过诱导点击精心构造的URL)的浏览器中注入并执行任意JavaScript。
由于应用程序将用户提供的输入直接反射到HTML响应中,而未进行适当的清理或输出编码,攻击者可以窃取会话Cookie、代表受害者执行操作,或将用户重定向到恶意内容——所有这些都不需要在服务器上拥有任何特殊权限。
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2023-33732 |
| 漏洞类型 | 反射型跨站脚本(XSS) |
| 受影响产品 | MicroWorld Technologies eScan管理控制台 |
| 受影响版本 | 14.0.1400.2281 |
| 漏洞端点 | /ewconsole/ewconsole.dll/AssignPolicyTemplate |
| 受影响参数 | type、txtPolicyType、txtPolicyPath、Deletefileval |
| 攻击向量 | 网络(通过钓鱼、链接等方式交付精心构造的URL) |
| 是否需要认证 | 否(受害者只需已登录) |
| CVSS分数 | 6.1(中等)— CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| 报告人 | Sahil Ojha |
| 披露日期 | 2023年5月30日 |
| 厂商主页 | https://www.escanav.com |
| 软件链接 | https://cl.escanav.com/ewconsole.dll |
| 测试平台 | Windows |
跨站脚本(XSS)是一类注入攻击,恶意脚本被注入到原本可信的网页中。在反射型变体中,有效载荷嵌入在精心构造的URL中,并立即被服务器的HTTP响应"反射"回用户。受害者的浏览器在易受攻击站点的上下文中执行该脚本,使得脚本获得与合法页面内容相同的信任级别。
常见后果包括:
eScan管理控制台中的AssignPolicyTemplate端点接收多个GET参数,并在未对特殊字符(如"、<、>)进行清理的情况下直接将其渲染到HTML页面中。这意味着类似以下的值:
"><script>alert(document.cookie)</script>
会突破周围HTML属性的上下文,并在DOM中注入一个完全可执行的<script>标签。
⚠️ 仅用于教育和授权测试目的。
认证 — 使用有效凭据登录eScan管理控制台。
构造恶意URL — 以下URL利用type参数注入一个<script>标签,用于窃取受害者的会话Cookie:
https://<target-host>/ewconsole/ewconsole.dll/AssignPolicyTemplate?type=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E&edit=0&txtPolicyType=&txtPolicyPath=!!!!%24%5CPolicies&Deletefileval=Roaming%20Users_Policy2&defaultpolicy=1
type参数中URL解码后的有效载荷:
"><script>alert(document.cookie)</script>
交付URL — 将精心构造的链接发送给已认证的管理员(例如通过电子邮件或聊天)。
观察执行 — 访问URL后,浏览器执行注入的脚本。弹窗显示当前会话Cookie,确认任意JavaScript执行成功。
步骤1 — 访问易受攻击的URL:

步骤2 — XSS弹窗显示会话Cookie:

步骤3 — 管理员Cookie暴露,可进行会话劫持:

成功利用此漏洞的攻击者可以:
MicroWorld Technologies应应用以下缓解措施:
<、>、"、'和&编码为对应的HTML实体。注意,编码策略因上下文而异:HTML正文、HTML属性、JavaScript和URL上下文各自需要不同的编码规则。script-src 'self')以阻止内联脚本执行,即使XSS有效载荷被注入。本仓库仅用于教育和负责任披露目的。此处提供的概念验证信息不得在未获得系统所有者明确书面许可的情况下用于攻击系统。作者对任何滥用此处信息的行为不承担任何责任。
| 参数 | 位置 | 备注 |
|---|
type | URL查询字符串 | 突破属性引号 |
txtPolicyType | URL查询字符串 | 未经清理反射到页面正文 |
txtPolicyPath | URL查询字符串 | 未经清理反射到页面正文 |
Deletefileval | URL查询字符串 | 未经清理反射到页面正文 |