【039-安全开发篇】JavaEE应用&SpringBoot框架&Actuator监控泄漏&Swagger自动化

思维导图

知识点:

1、JavaEE-SpringBoot-监控系统-Actuator

2、JavaEE-SpringBoot-接口系统-Swagger

3、JavaEE-SpringBoot-监控&接口&安全问题

章节点

3、Java:

功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方组件使用等.

框架库:MyBatis,SpringMVC,SpringBoot,Shiro,Log4j,FastJson等

技术:Servlet,Listen,Filter,Interceptor,JWT,AOP,反射机制待补充

安全:SQL注入,RCE执行,反序列化,脆弱验证,未授权访问,待补充

安全:原生开发安全,第三方框架安全,第三方组件安全等,架构分析,待补充

演示案例:

复制代码
SpringBoot-监控系统-Actuator
SpringBoot-接口系统-Swagger
安全案例-JVM泄漏&接口自动化

SpringBoot-监控系统-Actuator

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

  • 开发使用:
    1、引入依赖

    org.springframework.boot
    spring-boot-starter-actuator

    2、配置监控

bash 复制代码
#暴露
#application.properties
management.endpoints.web.exposure.include=*

#application.yml
management:
  endpoints:
    web:
      exposure:
        include: '*'

#安全配置:
#application.properties
management.endpoint.env.enabled=false
management.endpoint.heapdump.enabled=false

#application.yml
management:
    endpoint:
        heapdump:
            enabled: false #启用接口关闭
    env:
        enabled: false #启用接口关闭

2、图像化Server&Client端界面

Server:引入Server依赖-开启(@EnableAdminServer)

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

图形化界面3、安全问题

  • heapdump泄漏(会有源代码的信息)

jvisualvm分析器

JDumpSpider提取器(可下载)

把配置信息都显示出来了(开放的端口号和管理员的账号密码等等)

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

安全写法:false两个

SpringBoot-接口系统-Swagger

Swagger是当下比较流行的实时接口文文档生成工具。接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发结束后在进行联调测试。(如果你对某个网站做安全测试,不能知道有什么接口(只能乱测),有了swagger能知道更全面,如果接口里面有敏感信息,那就算是中低威漏洞)

参考:https://blog.csdn.net/lsqingfeng/article/details/123678701

  • 开发使用
    1、引入依赖
java 复制代码
<--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>

<--3.0.0版本-->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-boot-starter</artifactId>
  <version>3.0.0</version>
</dependency>

2、配置访问

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

#application.yml
spring
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

配置备注:

2.X版本启动需要注释@EnableSwagger2

3.X版本不需注释,写的话是@EnableOpenApi

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

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

3、安全问题

自动化测试:Postman

泄漏应用接口:用户登录,信息显示,上传文件等

可用于对未授权访问,信息泄漏,文件上传等安全漏洞的测试.

配置这样配,然后勾选保存响应,运行api即可


时间戳(新增)

可精准空降视频,需要直接点击,或者拖动,

  1. 文档简述 ------ 00:00:00
  2. 演示案例:SpringBoot-监控系统-Actuator ------ 00:02:24
  3. 演示案例:JavaEE-SpringBoot-接口系统-Swagger ------00:42:00
  4. 演示案例:安全案例-JVM泄漏&接口自动化(没有特定的讲)

碎碎念

新增时间戳模块,更好的让同学们更好的看小迪一起定位。

相关推荐
暮色妖娆丶1 分钟前
Spring 源码分析 BeanFactoryPostProcessor
spring boot·spring·源码
南极企鹅37 分钟前
springBoot项目有几个端口
java·spring boot·后端
天若有情67341 分钟前
【自研实战】轻量级ASCII字符串加密算法:从设计到落地(防查岗神器版)
网络·c++·算法·安全·数据安全·加密
darkb1rd1 小时前
七、PHP配置(php.ini)安全最佳实践
安全·php·webshell
忧郁的Mr.Li1 小时前
SpringBoot中实现多数据源配置
java·spring boot·后端
暮色妖娆丶2 小时前
SpringBoot 启动流程源码分析 ~ 它其实不复杂
spring boot·后端·spring
Coder_Boy_2 小时前
Deeplearning4j+ Spring Boot 电商用户复购预测案例中相关概念
java·人工智能·spring boot·后端·spring
爱学英语的程序员3 小时前
面试官:你了解过哪些数据库?
java·数据库·spring boot·sql·mysql·mybatis
Java新手村3 小时前
基于 Vue 3 + Spring Boot 3 的 AI 面试辅助系统:实时语音识别 + 大模型智能回答
vue.js·人工智能·spring boot
消失的旧时光-19433 小时前
第十四课 · 实战篇:Redis 缓存系统落地指南(Spring Boot 从 0 到可用)
spring boot·redis·缓存