# 渗透报告解决

# druid

druid 1.1.0版本上线后发现默认开启了监控,而且还是可以公开访

application.yml中加配置关闭

http://localhost:9993/mpmember/druid/index.html
https://member-uat.kerastase.com.cn/mpmember/druid/index.html

spring:
  datasource:
    druid:
      filter:
        config:
          enabled: false
      stat-view-servlet:
        enabled: false
      web-stat-filter:
        enabled: false
1
2
3
4
5
6
7
8
9
10
11
12
13

# actuator

http://localhost:9993/mpmember/actuator https://member-uat.kerastase.com.cn/mpmember/actuator

## actuator关闭
management:
  server:
    port: -1  # 修改端口,跳过安全漏洞扫描
  endpoints:
    enabled-by-default: false #关闭监控
    web:
      exposure:
        include: '*'
1
2
3
4
5
6
7
8
9

# nginx配置Strict Transport Security

漏洞原因:一个网站接受一个HTTP的请求,然后跳转到HTTPS,用户可能在开始跳转前,通过没有加密的方式和服务器对话,比如,用户输入http://zt.test.com或者直接zt.test.com。这样存在中间人攻击潜在威胁,跳转过程可能被恶意网站利用来直接接触用户信息,而不是原来的加密信息。网站通过HTTP Strict Transport Security通知浏览器,这个网站禁止使用HTTP方式加载,浏览器应该自动把所有尝试使用HTTP的请求自动替换为HTTPS请求。

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
1
  • 1.Strict-Transport-Security: 这是一个HTTP响应头,用来要求浏览器仅通过HTTPS与服务器建立连接,并且不尝试通过HTTP访问。这样做可以减少中间人攻击(MITM)的风险,并强制浏览器始终使用安全的连接。 max-age=63072000: 这个参数指定了浏览器应该记住HSTS策略多长时间(以秒为单位)。在这个例子中,63072000秒大约等于2年。这意味着,一旦浏览器从服务器收到这个策略,它就会在接下来的2年内自动将所有对网站的HTTP请求转换为HTTPS请求,除非它收到一个新的、较短的max-age值或HSTS策略被完全删除。
  • 2.includeSubdomains: 这个参数的作用是将HSTS策略应用到当前网站的所有子域上。例如,如果你的主域名是example.com,并且设置了includeSubdomains,那么blog.example.com、images.example.com等所有子域也将被强制使用HTTPS。这是非常有用的,因为它减少了为所有子域单独配置HSTS的需要。
    1. preload: 这个参数是可选的,并且仅当网站已被包含在一个特定的预加载列表中时才应使用。预加载列表由主要浏览器维护,当浏览器启动时,它会从这个列表中获取一些已知的、应仅通过HTTPS访问的网站列表。这意味着,即使你的网站是第一次被用户访问,浏览器也会通过HTTPS与之通信,而无需先等待浏览器从服务器接收HSTS策略。需要注意的是,preload必须谨慎使用,因为一旦将网站添加到预加载列表,而你的网站实际上还没有准备好只通过HTTPS提供服务,这可能会导致用户体验问题。

# 相关资料

Spring Boot 关闭 Actuator (opens new window)

nginx配置Strict Transport Security (opens new window)

Java之SpringBoot漏洞利用姿势合集总结详细版 (opens new window)

全量分析

评 论:

上次更新时间: 8/6/2024, 7:01:30 PM