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

本地环境测试












互联网环境测试


相关推荐
xcl09251 小时前
智慧健身场馆系统开发实战:从架构设计到核心模块落地指南
java·spring boot
vx-程序开发1 小时前
【计算机毕设】基于Spring Boot的古城景区管理系统88564
java·数据库·spring boot·后端·spring·elasticsearch·课程设计
vx-Biye_Design2 小时前
springboot中国传统节日宣传平台49078-计算机课程设计、毕业设计
java·前端·vue.js·spring boot·后端·课程设计·idea
代码调试师4 小时前
【毕设分享】springboot攀枝花生鲜电商平台58990
java·vue.js·spring boot·后端·架构·eclipse·课程设计
xcl09254 小时前
全民健身解决方案小程序系统开发实战:从架构设计到上线指南
java·spring boot
洛阳泰山4 小时前
别卷 Python 了:我用 Java 21 + Spring Boot 3 打造了一个企业级 RAG + 智能体工作流引擎(附架构与源码解析)
java·spring boot·后端
树若逝花若殇5 小时前
基于Spring AOP优雅记录请求响应日志
java·spring boot
李昊哲小课5 小时前
LLM API 协议代理 —— 从零到一全栈教程
spring boot·语言模型·大模型·openai·webclient·restclient·anthropic
脉动数据行情16 小时前
Java SpringBoot 国际期货批量采集实践 美原油 / 黄金 / 指数期货定时落库
java·开发语言·spring boot
Zzzzmo_8 小时前
SpringBoot 日志
java·spring boot·spring