网站在线设计,承德网站建设报价,wordpress页眉,广州开发网站平台目录
SpringBoot-监控系统-Actuator
SpringBoot-接口系统-Swagger
思维导图 Java知识点#xff1a; 功能#xff1a;数据库操作#xff0c;文件操作#xff0c;序列化数据#xff0c;身份验证#xff0c;框架开发#xff0c;第三方组件使用等. 框架库#xff1a;MyB…目录
SpringBoot-监控系统-Actuator
SpringBoot-接口系统-Swagger
思维导图 Java知识点 功能数据库操作文件操作序列化数据身份验证框架开发第三方组件使用等. 框架库MyBatisSpringMVCSpringBootShiroLog4jFastJson等 技术ServletListenFilterInterceptorJWTAOP反射机制待补充 安全SQL注入RCE执行反序列化脆弱验证未授权访问待补充 安全原生开发安全第三方框架安全第三方组件安全等架构分析待补充 SpringBoot-监控系统-Actuator SpringBoot Actuator 模块提供了生产级别的功能比如健康检查审计指标收集HTTP 跟踪等帮助我们监控和管理 Spring Boot 应用。 Actutor断点图 新建项目创建 spring 项目依赖选择 Web 中的 Spring WebOps 中的 Spring Boot Actuator 引入依赖当创建项目时未选择 actuator 依赖时可在配置文件 pom.xml 中自行引入
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId
/dependency
配置监控在 application.properties 进行如下配置
# 这个配置项是用于指定要暴露的web端点。*表示暴露所有端点。
management.endpoints.web.exposure.include*
# 这个配置项用于指定是否显示健康检查的详细信息。always表示总是显示详细信息。
management.endpoint.health.show-detailsalways
然后就可以通过上面的断点图访问到actutor会泄露一些关键信息 这里面会暴露出很多敏感信息
安全配置在 application.properties 进行如下配置关闭某些端点的启用防止敏感信息泄露
从这里也可以看出来/actuator/env 和 /actuator/heapdump 这两个目录下爆出来信息是很敏感
management.endpoint.env.enabledfalse
management.endpoint.heapdump.enabledfalse
再次尝试访问/actuator/env/actuator/heapdump就会访问失败 图像化 ServerClient 端界面 Server引入Server依赖-开启EnableAdminServer application.properties 配置信息 # 应用服务 WEB 访问端口
server.port8889spring.boot.admin.client.urlhttp://127.0.0.1:8888
management.endpoints.web.exposure.include*
management.endpoint.health.show-detailsalways Client引入Client依赖-配置连接目标显示配置等 application.properties 配置信息 ## 应用服务 WEB 访问端口
#server.port8080
##下面这些内容是为了让MyBatis映射
##指定Mybatis的Mapper文件
#mybatis.mapper-locationsclasspath:mappers/*xml
##指定Mybatis的实体目录
#mybatis.type-aliases-packagecn.xiaodi.testactuatordemo1.mybatis.entity
## Actuator Web 访问端口
#management.server.port8081
#management.endpoints.jmx.exposure.include*
#management.endpoints.web.exposure.include*
#management.endpoint.health.show-detailsalwaysserver.port7777spring.datasource.urljdbc:mysql://localhost:3306/demo01
spring.datasource.nameroot
spring.datasource.password123456
spring.datasource.driver-class-namecom.mysql.cj.jdbc.Drivermanagement.endpoint.health.show-detailsalways
management.endpoints.web.exposure.include*management.endpoint.heapdump.enabledfalse
management.endpoint.env.enabledfalse 分别启动两个项目文件 安全问题heapdump泄漏 得到对应heapdump包可以使用工具进行分析获取到配置信息分析提取出敏感信息配置帐号密码接口信息 数据库 短信 云应用等配置 访问这个路径下载/actuator/heapdump这个文件 工具使用JDumpSpider提取器https://github.com/whwlsfb/JDumpSpider/releases 可以帮助我们自动化从中提取敏感信息里面包含类信息可以直接到很多配置信息 工具使用jvisualvm分析器 安装jdk自带文件搜索获取 如D:\jdk1.8.0_112\bin\jvisualvm.exe 测试安装:JDK1.8_112 下载JDKhttp://www.itmop.com/downinfo/136203.html 其他利用见下文 https://blog.csdn.net/drnrrwfs/article/details/125242990 分析得到有一些组件不安全的组件如log4j SpringBoot-接口系统-Swagger Swagger 是当下比较流行的实时接口文文档生成工具。接口文档是当前前后端分离项目中必不可少的工具在前后端开发之前后端要先出接口文档前端根据接口文档来进行项目的开发双方开发结束后在进行联调测试。 参考https://blog.csdn.net/lsqingfeng/article/details/123678701 创建项目引入依赖 引入依赖
2.9.2
dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.9.2/version/dependencydependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.9.2/version/dependency3.0.0 dependencygroupIdio.springfox/groupIdartifactIdspringfox-boot-starter/artifactIdversion3.0.0/version/dependency
application.properties
# 应用服务 WEB 访问端口
server.port8002
# 设置路径匹配策略为Ant路径匹配器
spring.mvc.pathmatch.matching-strategyant_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 安全问题 自动化测试Postman 泄漏应用接口用户登录信息显示上传文件等 可用于对未授权访问信息泄漏文件上传等安全漏洞的测试 打开postman打开工作台在左侧找到API 打开API导入生成的swagger页面提供的APIhttp://127.0.0.1:8080/v3/api-docs 导入成功后点击Api Documentation点击右侧的运行勾选想要测试的接口执行即可 也可以批量化测试 思维导图