# 渗透报告解决
# 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
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
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的需要。
- preload: 这个参数是可选的,并且仅当网站已被包含在一个特定的预加载列表中时才应使用。预加载列表由主要浏览器维护,当浏览器启动时,它会从这个列表中获取一些已知的、应仅通过HTTPS访问的网站列表。这意味着,即使你的网站是第一次被用户访问,浏览器也会通过HTTPS与之通信,而无需先等待浏览器从服务器接收HSTS策略。需要注意的是,preload必须谨慎使用,因为一旦将网站添加到预加载列表,而你的网站实际上还没有准备好只通过HTTPS提供服务,这可能会导致用户体验问题。
# 相关资料
Spring Boot 关闭 Actuator (opens new window)
nginx配置Strict Transport Security (opens new window)
Java之SpringBoot漏洞利用姿势合集总结详细版 (opens new window)
全量分析 阅读量: