九阴真经


Actuator漏洞

<h3>SpringBoot ace漏洞</h3> <pre><code>&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-actuator&lt;/artifactId&gt; &lt;/dependency&gt;</code></pre> <ul> <li> <p>设置监控访问的应用根路径,默认是/actuator</p> <pre><code>management.endpoints.web.base-path=/monitor</code></pre> <p>Actuator监控分成两类:原生端点和用户自定义扩展端点,原生的主要有:</p> </li> </ul> <table> <thead> <tr> <th>路径</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>/autoconfig</td> <td>提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过</td> </tr> <tr> <td>/beans</td> <td>描述应用程序上下文里全部的Bean,以及它们的关系</td> </tr> <tr> <td>/env</td> <td>获取全部环境属性</td> </tr> <tr> <td>/configprops</td> <td>描述配置属性(包含默认值)如何注入Bean</td> </tr> <tr> <td>/dump</td> <td>获取线程活动的快照</td> </tr> <tr> <td>/health</td> <td>报告应用程序的健康指标,这些值由HealthIndicator的实现类提供</td> </tr> <tr> <td>/info</td> <td>获取应用程序的定制信息,这些信息由info打头的属性提供</td> </tr> <tr> <td>/mappings</td> <td>描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系</td> </tr> <tr> <td>/metrics</td> <td>报告各种应用程序度量信息,比如内存用量和HTTP请求计数</td> </tr> <tr> <td>/shutdown</td> <td>关闭应用程序,要求endpoints.shutdown.enabled设置为true</td> </tr> <tr> <td>/trace</td> <td>提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)</td> </tr> </tbody> </table> <ul> <li> <p>暴露监控访问接口,默认是/health和/info</p> <pre><code>management.endpoints.web.exposure.include=*</code></pre> </li> <li> <p>显式屏蔽监控访问接口</p> <pre><code>management.endpoints.web.exposure.exclude=env,metrics</code></pre> </li> <li> <p>开放关闭应用程序端点,不建议开启</p> <pre><code>management.endpoint.shutdown.enabled=true</code></pre> </li> </ul> <h3>安全措施</h3> <p>如果上述请求接口不做任何安全限制,安全隐患显而易见。实际上Spring Boot也提供了安全限制功能。比如要禁用/env接口,则可设置如下:</p> <pre><code>endpoints.env.enabled= false</code></pre> <p>如果只想打开一两个接口,那就先禁用全部接口,然后启用需要的接口:</p> <pre><code>endpoints.enabled = false endpoints.metrics.enabled = true #2.4版本 management.endpoints.enabled-by-default=false</code></pre>

页面列表

ITEM_HTML