<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Java on Aries441's Tech Blog</title><link>https://aries441.tech/tags/java/</link><description>Recent content in Java on Aries441's Tech Blog</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 15 May 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://aries441.tech/tags/java/index.xml" rel="self" type="application/rss+xml"/><item><title>TeamCity CVE-2024-27198 认证绕过漏洞 — 0day 视角的发现与复现方法</title><link>https://aries441.tech/posts/vuln-reproduction/teamcity-cve-2024-27198-discovery/</link><pubDate>Fri, 15 May 2026 00:00:00 +0800</pubDate><guid>https://aries441.tech/posts/vuln-reproduction/teamcity-cve-2024-27198-discovery/</guid><description>&lt;h1 id="teamcity-cve-2024-27198-认证绕过漏洞--0day-视角的发现与复现方法"&gt;TeamCity CVE-2024-27198 认证绕过漏洞 — 0day 视角的发现与复现方法&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;免责声明：本博客文章仅用于教育和研究目的。提供的所有技术和代码示例旨在帮助防御者理解攻击手法并提高安全态势。请勿使用此信息访问或干扰您不拥有或没有明确测试权限的系统。未经授权的使用可能违反法律和道德准则。作者对因应用所讨论概念而导致的任何误用或损害不承担任何责任。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;系列说明&lt;/strong&gt;：本文是该系列的第一篇，聚焦漏洞的成因分析、实验环境和 0day 视角的发现方法。关于漏洞的利用影响、在野态势、披露争议以及语义漂移模式的横向分析，见第二篇：[[teamcity-cve-2024-27198-impact]]。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;漏洞编号&lt;/th&gt;
&lt;th style="text-align: left"&gt;CVE-2024-27198&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;CWE分类&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;CWE-288（备用路径导致认证绕过）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;发现时间&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;2024年2月（由 Rapid7 的 Stephen Fewer 发现）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;CVSS评分&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;9.8 (Critical / 严重)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;受影响版本&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;JetBrains TeamCity On-Premises &amp;lt;= 2023.11.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;修复版本&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;JetBrains TeamCity 2023.11.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;危害描述&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;未经身份验证的攻击者可通过特定的URL路径绕过认证机制，获取管理员权限并接管TeamCity服务器，进而可能导致供应链投毒攻击。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="目录"&gt;目录&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;引言与漏洞背景&lt;/li&gt;
&lt;li&gt;漏洞成因分析&lt;/li&gt;
&lt;li&gt;漏洞触发环境与复现条件&lt;/li&gt;
&lt;li&gt;漏洞发现方法与过程（0day视角）&lt;/li&gt;
&lt;li&gt;防御机制与突破点分析&lt;/li&gt;
&lt;li&gt;修复与缓解建议&lt;/li&gt;
&lt;li&gt;结论：可迁移的发现方法论&lt;/li&gt;
&lt;li&gt;参考与来源&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="1-引言与漏洞背景"&gt;1. 引言与漏洞背景&lt;/h2&gt;
&lt;p&gt;TeamCity 是 JetBrains 开发的一款广泛使用的 CI/CD（持续集成与持续交付）服务器，在企业软件开发生命周期中占据核心地位。由于其掌控着代码构建与部署权限，一旦被攻陷，极易引发大范围的软件供应链攻击。&lt;/p&gt;
&lt;p&gt;2024年2月，Rapid7 漏洞研究团队在 TeamCity 的 Web 组件中发现了两个严重的认证绕过漏洞（CVE-2024-27198 与 CVE-2024-27199）。其中，CVE-2024-27198（CVSS 9.8）允许未经身份验证的攻击者直接获取最高管理权限并实现远程代码执行（RCE）。&lt;/p&gt;
&lt;p&gt;我关注这个漏洞，不只是因为它严重，更因为它的根因很有代表性——不是某个鉴权函数&amp;quot;写错了&amp;quot;，而是&lt;strong&gt;请求在多个处理层之间被不同组件&amp;quot;重新理解&amp;quot;&lt;/strong&gt;，导致鉴权边界和执行边界发生了错位。这种问题单看代码很难发现，常规扫描器也抓不住，但它有一套可以复用的发现方法论。&lt;/p&gt;
&lt;p&gt;本文的核心目标就是还原这套方法论：在不依赖公开利用样例、不先验知道答案的前提下，从零开始走一遍&amp;quot;发现&amp;quot;的过程。&lt;/p&gt;
&lt;h2 id="2-漏洞成因分析"&gt;2. 漏洞成因分析&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;本节内容依据 Rapid7 官方报告 analysis 部分进行翻译与整理，重点还原&amp;quot;代码层为什么会绕过&amp;quot;，而非仅描述复现步骤。&lt;/p&gt;</description></item><item><title>TeamCity 认证绕过漏洞复现与分析（CVE-2024-27198）</title><link>https://aries441.tech/posts/vuln-reproduction/teamcity-cve-2024-27198/</link><pubDate>Thu, 14 May 2026 00:00:00 +0800</pubDate><guid>https://aries441.tech/posts/vuln-reproduction/teamcity-cve-2024-27198/</guid><description>&lt;h1 id="teamcity认证绕过漏洞cve-2024-27198复现报告与分析"&gt;TeamCity认证绕过漏洞（CVE-2024-27198）复现报告与分析&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;免责声明：本博客文章仅用于教育和研究目的。提供的所有技术和代码示例旨在帮助防御者理解攻击手法并提高安全态势。请勿使用此信息访问或干扰您不拥有或没有明确测试权限的系统。未经授权的使用可能违反法律和道德准则。作者对因应用所讨论概念而导致的任何误用或损害不承担任何责任。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;漏洞编号&lt;/th&gt;
&lt;th style="text-align: left"&gt;CVE-2024-27198&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;CWE分类&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;CWE-288（备用路径导致认证绕过）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;发现时间&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;2024年2月（由 Rapid7 的 Stephen Fewer 发现）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;CVSS评分&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;9.8 (Critical / 严重)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;受影响版本&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;JetBrains TeamCity On-Premises &amp;lt;= 2023.11.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;修复版本&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;JetBrains TeamCity 2023.11.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;危害描述&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;未经身份验证的攻击者可通过特定的URL路径绕过认证机制，获取管理员权限并接管TeamCity服务器，进而可能导致供应链投毒攻击。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="目录"&gt;目录&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;引言与漏洞背景&lt;/li&gt;
&lt;li&gt;漏洞成因分析&lt;/li&gt;
&lt;li&gt;漏洞触发环境与复现条件&lt;/li&gt;
&lt;li&gt;漏洞发现方法与过程（0day视角）&lt;/li&gt;
&lt;li&gt;漏洞可利用性分析&lt;/li&gt;
&lt;li&gt;防御机制与突破点分析&lt;/li&gt;
&lt;li&gt;修复与缓解建议&lt;/li&gt;
&lt;li&gt;漏洞披露与社区争议&lt;/li&gt;
&lt;li&gt;结论&lt;/li&gt;
&lt;li&gt;参考与来源&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="1-引言与漏洞背景"&gt;1. 引言与漏洞背景&lt;/h2&gt;
&lt;p&gt;TeamCity 是 JetBrains 开发的一款广泛使用的 CI/CD（持续集成与持续交付）服务器，在企业软件开发生命周期中占据核心地位。由于其掌控着代码构建与部署权限，一旦被攻陷，极易引发大范围的软件供应链攻击。&lt;/p&gt;
&lt;p&gt;2024年2月，Rapid7 漏洞研究团队在 TeamCity 的 Web 组件中发现了两个严重的认证绕过漏洞（CVE-2024-27198 与 CVE-2024-27199）。其中，CVE-2024-27198（CVSS 9.8）由于允许未经身份验证的攻击者直接获取最高管理权限并实现远程代码执行（RCE），危害尤为严重。&lt;/p&gt;
&lt;p&gt;值得注意的是，该漏洞在3月初的披露过程并非一帆风顺。由于发现方（Rapid7）与厂商（JetBrains）在“协调披露”与“静默修补”理念上产生严重分歧，Rapid7 在补丁发布当日即公开了详细技术报告。这一事件不仅导致随后几天内爆发了针对该漏洞的大规模在野利用（如勒索软件和挖矿木马），更在安全社区引发了一场关于“漏洞披露伦理”的广泛争论（详见文末讨论）。&lt;/p&gt;
&lt;h2 id="2-漏洞成因分析"&gt;2. 漏洞成因分析&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;本节内容依据 Rapid7 官方报告 analysis 部分进行翻译与整理，重点还原“代码层为什么会绕过”，而非仅描述复现步骤。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;该漏洞本质属于 &lt;strong&gt;CWE-288（Authentication Bypass Using an Alternate Path）&lt;/strong&gt;：请求在不同处理层被解释为不同语义，导致鉴权边界与执行边界错位。&lt;/p&gt;</description></item><item><title>Nacos 身份认证绕过漏洞复现 (CVE-2021-29441)</title><link>https://aries441.tech/posts/vuln-reproduction/nacos-cve-2021-29441/</link><pubDate>Thu, 19 Mar 2026 00:00:00 +0800</pubDate><guid>https://aries441.tech/posts/vuln-reproduction/nacos-cve-2021-29441/</guid><description>&lt;h2 id="漏洞背景"&gt;漏洞背景&lt;/h2&gt;
&lt;p&gt;Nacos 是阿里巴巴开源的动态服务发现、配置管理和服务管理平台。
在特定的历史版本中，Nacos 存在身份认证绕过漏洞（CVE-2021-29441）。&lt;/p&gt;
&lt;h2 id="漏洞原理"&gt;漏洞原理&lt;/h2&gt;
&lt;p&gt;由于在处理请求时，对特定 User-Agent 或特定参数判断存在逻辑缺陷，导致攻击者可以伪造身份绕过鉴权，直接读取或修改配置中心的配置。&lt;/p&gt;
&lt;h2 id="accessguard-审计视角"&gt;AccessGuard 审计视角&lt;/h2&gt;
&lt;p&gt;在重构 &lt;strong&gt;AccessGuard&lt;/strong&gt; 时，我们将 Nacos 作为一个典型的 DevOps 平台基础设施靶场。
传统的 SAST 工具难以理解 &lt;code&gt;User-Agent&lt;/code&gt; 与后端拦截器（Interceptor）或过滤器（Filter）之间的权限状态转移。&lt;/p&gt;
&lt;p&gt;通过引入 LLM-driven 的 Agentic 架构，AccessGuard 能够：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;识别 &lt;code&gt;NacosAuthFilter&lt;/code&gt; 中的守卫逻辑。&lt;/li&gt;
&lt;li&gt;发现其对特殊请求头的硬编码放行逻辑。&lt;/li&gt;
&lt;li&gt;判定该放行逻辑与敏感 Sink 之间存在可达路径。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="复现步骤"&gt;复现步骤&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;(本文为测试文章，详细复现步骤将在后续更新)&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>