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

本地环境测试












互联网环境测试


相关推荐
MZ_ZXD0012 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
invicinble2 小时前
springboot的核心实现机制原理
java·spring boot·后端
space62123272 小时前
在SpringBoot项目中集成MongoDB
spring boot·后端·mongodb
金牌归来发现妻女流落街头4 小时前
【从SpringBoot到SpringCloud】
java·spring boot·spring cloud
皮卡丘不断更4 小时前
手搓本地 RAG:我用 Python 和 Spring Boot 给 AI 装上了“实时代码监控”
人工智能·spring boot·python·ai编程
lucky67074 小时前
Spring Boot集成Kafka:最佳实践与详细指南
spring boot·kafka·linq
Coder_Boy_5 小时前
基于Spring AI的分布式在线考试系统-事件处理架构实现方案
人工智能·spring boot·分布式·spring
毕设源码-钟学长6 小时前
【开题答辩全过程】以 基于Springboot的扶贫众筹平台为例,包含答辩的问题和答案
java·spring boot·后端
Java水解7 小时前
Spring Boot 4 升级指南:告别RestTemplate,拥抱现代HTTP客户端
spring boot·后端
神云瑟瑟7 小时前
spring boot拦截器获取requestBody的最佳实践
spring boot·拦截器·requestbody