Web开发-JavaEE应用&SpringBoot栈&Actuator&Swagger&HeapDump&提取自动化

知识点:

1、安全开发-JavaEE-常见依赖-Actuator&Swagger

2、安全开发-JavaEE-安全问题-配置安全&接口测试

一、演示案例-WEB开发-JavaEE-监控依赖-SpringBoot&Actuator&配置安全

SpringBoot Actuator模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP跟踪等,帮助我们监控和管理Spring Boot应用。



1、引入依赖

bash 复制代码
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2、配置监控

暴露-基于application.properties配置文件

bash 复制代码
management.endpoints.web.exposure.include=*






暴露-基于application.yml配置文件(有的应用用这个)

bash 复制代码
management:
endpoints:
web:
exposure:
include: '*'

安全配置-application.properties配置文件

bash 复制代码
management.endpoint.env.enabled=false
management.endpoint.heapdump.enabled=false


安全配置-application.yml配置文件(有的应用用这个)

bash 复制代码
management:
endpoint:
heapdump:
enabled: false #启用接口关闭
env:
enabled: false #启用接口关闭

3、图像化监控Server&Client端界面

Server:引入Server依赖-开启


bash 复制代码
@EnableAdminServer



Client:引入Client依赖-配置(连接目标,显示配置等)




效果:服务端等待客户端的加入,加入后从服务端页面就能监控客户端应用


4、安全问题-heapdump泄漏




自动化-JDumpSpider提取器

https://github.com/whwlsfb/JDumpSpider


半手工-heapdump_tool提取器

https://github.com/wyzxxz/heapdump_tool

分析提取出敏感信息(配置帐号密码,接口信息 数据库 短信 云应用等配置)

5、额外安全-SpringCloud Gateway RCE(CVE-2022-22947)

漏洞文章参考:https://github.com/LandGrey/SpringBootVulExploit

漏洞利用工具:https://github.com/wh1t3zer/SpringBootVul-GUI

创建SpringCloud Gateway+Actuator项目


更改项目版本及漏洞Gateway依赖版本

bash 复制代码
<spring-boot.version>2.5.2</spring-boot.version>
<spring-cloud.version>2020.0.3</spring-cloud.version>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
    <version>3.1.0</version>
</dependency>


启动项目进行测试


手工复现参考:https://www.cnblogs.com/qgg4588/p/18104875

二、演示案例-WEB开发-JavaEE-API接口依赖-SpringBoot&Swagger&接口测试

bash 复制代码
Swagger是当下比较流行的实时接口文档生成工具。接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发结束后在进行联调测试。
简单来说就是用来调试接口用的,在WEB页面进行调试。
参考:https://blog.csdn.net/lsqingfeng/article/details/123678701


1、引入依赖

bash 复制代码
<--2.9.2版本-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
bash 复制代码
<--3.0.0版本-->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-boot-starter</artifactId>
  <version>3.0.0</version>
</dependency>

2、配置访问

application.properties配置文件

bash 复制代码
spring.mvc.pathmatch.matching-strategy=ant-path-matcher

application.yml配置文件(有些应用会用这个文件)

bash 复制代码
spring
mvc:
pathmatch:
matching-strategy: ant_path_matcher

2.X版本启动需要添加@EnableSwagger2

2.X访问路径:http://ip:port/swagger-ui.html










3.X版本启动需要添加@EnableOpenApi

3.X访问路径:http://ip:port/swagger-ui/index.html

3、安全问题

自动化测试工具:Apifox

bash 复制代码
泄漏应用接口:用户登录,信息显示,上传文件等
可用于对未授权访问,信息泄漏,文件上传等安全漏洞的测试.

本地环境测试












互联网环境测试


相关推荐
老李不敲代码1 小时前
榕壹云搭子系统技术解析:基于Spring Boot+MySQL+UniApp的同城社交平台开发实践
spring boot·mysql·微信小程序·uni-app·软件需求
养军博客2 小时前
spring boot3.0自定义校验注解:文章状态校验示例
java·前端·spring boot
小赵面校招2 小时前
Spring Boot整合MyBatis全攻略:原理剖析与最佳实践
java·spring boot·mybatis
曼岛_2 小时前
[Java实战]Spring Boot 3 整合 Ehcache 3(十九)
java·spring boot·spring
意倾城2 小时前
Spring Boot 配置文件敏感信息加密:Jasypt 实战
java·spring boot·后端
曼岛_2 小时前
[Java实战]Spring Boot 3 整合 Apache Shiro(二十一)
java·spring boot·apache
火皇4052 小时前
Spring Boot 使用 OSHI 实现系统运行状态监控接口
java·spring boot·后端
小赵面校招2 小时前
SpringBoot整合MyBatis-Plus:零XML实现高效CRUD
xml·spring boot·mybatis
不再幻想,脚踏实地3 小时前
Spring Boot配置文件
java·数据库·spring boot
pedestrian_h3 小时前
Spring AI 开发本地deepseek对话快速上手笔记
java·spring boot·笔记·llm·ollama·deepseek