Actuator漏洞
<h3>SpringBoot ace漏洞</h3>
<pre><code><dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency></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>