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

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

Untitled

#知识点:

1、JavaEE-SpringBoot-监控系统-Actuator
2、JavaEE-SpringBoot-接口系统-Swagger
3、JavaEE-SpringBoot-监控&接口&安全问题

演示案例:

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

Untitled

#SpringBoot-监控系统-Actuator

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

1、开发使用:

1、引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Untitled

Untitled

2、配置监控
  • 暴露配置:

    • application.properties

      # 设置Spring Boot应用的端口为7777
      server.port=7777# 指定数据库连接的URL,使用MySQL数据库,连接本地主机(localhost)的3306端口上的名为dome01的数据库
      spring.datasource.url=jdbc:mysql://localhost:3306/dome01# 设置数据库的用户名为root
      spring.datasource.name=root# 设置数据库的密码为root
      spring.datasource.password=root# 指定MySQL数据库的JDBC驱动程序的类名
      spring.datasource.driver-class-name=com.mysql.jdbc.Driver**# 启用所有的Actuator端点,允许通过HTTP访问监控和管理端点
      management.endpoints.web.exposure.include=*# 在健康检查端点中显示详细信息,包括应用程序的各个健康指标
      management.endpoint.health.show-details=always**
      
    • application.yml

      management:endpoints:web:**# 允许通过HTTP访问所有的Actuator端点exposure:include: '*'**
      
  • 安全配置:关闭隐私泄露的的端点即可

    • application.properties

      **# 启用或禁用Env端点,false表示禁用
      management.endpoint.env.enabled=false# 启用或禁用Heap Dump端点,false表示禁用
      management.endpoint.heapdump.enabled=false**
      
    • application.yml

      management:endpoint:**# 启用或禁用Heap Dump端点,false表示禁用heapdump:enabled: false # 启用接口关闭# 启用或禁用Env端点,false表示禁用env:enabled: false # 启用接口关闭**
      

Untitled

Untitled

3、 图像化Server&Client端界面
  • Server:引入Server依赖-开启(@EnableAdminServer)

    Untitled

    Untitled

    Untitled

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

    Untitled

    Untitled

  • 分别启动两个项目文件

    Untitled

    Untitled

Untitled

2、安全问题

heapdump泄漏

得到对应heapdump包可以使用工具进行分析:获取到配置信息==(分析提取出敏感信息(配置帐号密码,接口信息 数据库 短信 云应用等配置)==

Untitled

Untitled

  • 工具使用:JDumpSpider提取器https://github.com/whwlsfb/JDumpSpider/releases

    java -jar JDumpSpider-1.1-SNAPSHOT-full.jar heapdump

    Untitled

    Untitled

  • 工具使用:jvisualvm分析器

    安装jdk自带,文件搜索获取
    如:D:\jdk1.8.0_112\bin\jvisualvm.exe测试安装:JDK1.8_112
    下载JDK:http://www.itmop.com/downinfo/136203.html
    

    Untitled

    Untitled

其他利用见下文
https://blog.csdn.net/drnrrwfs/article/details/125242990
分析得到有一些组件(不安全的组件,如log4j

#SpringBoot-接口系统-Swagger

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

1、创建项目引入依赖

Untitled

<--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、配置访问

  • application.properties

    # 设置路径匹配策略为Ant路径匹配器
    spring.mvc.pathmatch.matching-strategy=ant-path-matcher
    
  • application.yml

    spring:mvc:pathmatch:# 设置路径匹配策略为Ant路径匹配器matching-strategy: ant_path_matcher
    

Untitled

Untitled

注意事项:

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

  • 打开postman打开工作台,在左侧找到API
  • 打开API导入生成的swagger页面提供的API:http://127.0.0.1:8080/v3/api-docs
  • 导入成功后点击Api Documentation,点击右侧的运行,勾选想要测试的接口,执行即可

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器钓鱼攻击常用手法简介与防护建议

服务器钓鱼攻击是最常见、最容易让受害者中招的网络服务器犯罪之一&#xff0c;随着网络服务器技术的不断发展&#xff0c;攻击者的伪装手段也变得愈发狡诈&#xff0c;攻击频次也再增高&#xff0c;各种新奇的攻击方式层出不穷。 防止网络服务器钓鱼的最基本原则是保持警惕&a…

httpclient发送post请求、httpclient上传文件

引入依赖 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version></dependency><dependency><groupId>org.apache.httpcomponents</groupI…

机器人初识 —— 电机传动系统

一、背景 波士顿动力公司开发的机器人&#xff0c;其电机传动系统是其高性能和动态运动能力的核心部分。电机传动系统通常包括以下几个关键组件&#xff1a; 1. **电动马达**&#xff1a;波士顿动力的机器人采用了先进的电动马达作为主要的动力源&#xff0c;如伺服电机或步进…

【数据分享】2014-2024年全国监测站点的逐时空气质量数据(15个指标\Excel\Shp格式)

空气质量的好坏反映了空气的污染程度&#xff0c;在各项涉及城市环境的研究中&#xff0c;空气质量都是一个十分重要的指标。空气质量是依据空气中污染物浓度的高低来判断的。 我们发现学者王晓磊在自己的主页里面分享了2014年5月以来的全国范围的到站点的逐时的空气质量数据&…

OpenCV运行gstreamer管道获取相机数据,处理以后,再交给gstreamer显示(QT实现)

前言 无意中发现&#xff0c;OpenCV也可以运行gstreamer的命令管道&#xff0c;然后使用appsink来与OpenCV连接起来进行处理&#xff0c;在不断测试之下&#xff0c;先后实现了以下功能&#xff1a; 1. OpenCV运行gstreamer命令&#xff0c;通过appsink传递给OpenCV显示 2. Ope…

Java入门及环境变量

文章目录 1.1 Java简介1.2 JDK的下载和安装1.3 第一个程序1.4 常见问题1.5 常用DOS命令1.6 Path环境变量 1.1 Java简介 下面我们正式进入Java的学习&#xff0c;在这里&#xff0c;大家第一个关心的问题&#xff0c;应该就是 Java 是什么&#xff0c;我们一起来看一下&#xf…

ktutil编写生成keytab文件的脚本、通过keytab文件认证用户

文章目录 1. 生成keytab文件脚本2. 通过keytab文件认证3. 查看认证的用户4. 失效认证的用户 1. 生成keytab文件脚本 生成keytab文件的脚本 vim generate_kb.sh #!/usr/bin/bash ktutil <<EOF add_entry -password -p $1 -k 1 -e arcfour-hmac $2 write_kt $3 EOF示例&am…

C语言系列-带有副作用的宏参数#和##命名约定宏替换的规则

&#x1f308;个人主页: 会编辑的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” 目录 带有副作用的宏参数 宏替换的规则 宏函数的对比 #和## #运算符 ##运算符 命名约定 #undef 带有副作用的宏参数 当宏参数在宏的定义中出现超过一次的时候&#xff0c;如果…

Offer必备算法07_递归_五道力扣题详解(由易到难)

目录 递归算法原理 ①力扣面试题 08.06. 汉诺塔问题 解析代码 ②力扣21. 合并两个有序链表 解析代码 ③力扣206. 反转链表 解析代码 ④力扣24. 两两交换链表中的节点 解析代码 ⑤力扣50. Pow(x, n) 解析代码 本篇完。 递归算法原理 递归算法个人经验&#xff1a;给…

PHP支持的伪协议

php.ini参数设置 在php.ini里有两个重要的参数allow_url_fopen、allow_url_include。 allow_url_fopen:默认值是ON。允许url里的封装协议访问文件&#xff1b; allow_url_include:默认值是OFF。不允许包含url里的封装协议包含文件&#xff1b; 各协议的利用条件和方法 php:/…

图数据库 之 Neo4j - 应用场景1 - 欺诈检测(6)

Neo4j是一种图数据库,它专注于处理关系数据密集型的问题。由于其图结构的特性,Neo4j能够高效地存储、查询和分析连接数据。 以下是一些常见的Neo4j应用场景: 社交网络分析:通过建模和分析人际关系,可以揭示社交网络中的影响力、社区结构、信息传播等重要信息。金融领域:…

数据结构OJ题——top-k问题:最小的K个数(Java实现)

题目链接&#xff1a;top-k问题&#xff1a;最小的K个数 top-k问题&#xff1a;最小的K个数假 1.方法一2.方法二时间复杂度 3.方法三时间复杂度 1.方法一 各种排序算法&#xff08;由于本文主要讲有关堆的使用&#xff0c;这里不做有关排序算法解决本题的介绍。对于Top-K问题…

linux(阿里云)安装pytorch

目录 环境 安装步骤 1 检查python3和pip3是否已经安装 2 安装pytorch 3 安装完毕&#xff0c;检查pytorch版本 环境 阿里云 ubuntu 22.04 UEFI版 64位 安装步骤 1 检查python3和pip3是否已经安装 输入下面两条指令&#xff1a; python3 --version pip --version 检…

1Panel使用GMSSL+Openresty实现国密/RSA单向自适应

本文 首发于 Anyeの小站&#xff0c;转载请取得作者同意。 前言 国密算法是国家商用密码算法的简称。自2012年以来&#xff0c;国家密码管理局以《中华人民共和国密码行业标准》的方式&#xff0c;陆续公布了SM2/SM3/SM4等密码算法标准及其应用规范。其中“SM”代表“商密”&a…

ChatGPT对软件测试的影响!

ChatGPT 是一个经过预训练的 AI 语言模型&#xff0c;可以通过聊天的方式回答问题&#xff0c;或者与人闲聊。它能处理的是文本类的信息&#xff0c;输出也只能是文字。它从我们输入的信息中获取上下文&#xff0c;结合它被训练的大模型&#xff0c;进行分析总结&#xff0c;给…

【C++杂货铺】string详解

目录 1. 基本概念&#xff1a; 1.1 本质&#xff1a; 1.2 string和char*区别&#xff1a; 1.3 特点&#xff1a; 2. 构造函数(初始化) 3. 赋值操作 4. 字符串拼接 5 查找 和 替换 6. 字符串比较 7. 字符存取 8. 插入和删除 ​9. 子串获取 &#x1f308;前言&#x…

Rocky Linux网卡静态配置

一、开源系统 Rocky Linux 下载安装 1、安装教程 Rocky Linux 下载安装 二、远程工具 MobaXterm下载安装 1、安装教程 MobaXterm 下载安装 三、Rocky Linux 网卡配置 1、使用ip addr确认网卡名称&#xff08;此处可得知网卡为ens160&#xff09; [rootlocalhost ~]# ip a 1:…

【笔记】Helm-5 Chart模板指南-14 下一步

下一步 本指南旨在为chart开发者提供对如何使用Helm模板语言的强大理解能力。该模板聚焦于模板开发的技术层面。 但涉及到chart的实际日常开发时&#xff0c;很多内容本指南并没有覆盖到。这里有一些有用的文档链接帮助您创建新的chart&#xff1a; CNCF的 Artifact Hub 是ch…

23款奔驰GLE350升级小柏林音响 安装效果分享

小柏林之声音响是13个喇叭1个功放&#xff0c;功率是590W&#xff0c;对应普通音响来说&#xff0c;已经是上等了。像著名的哈曼卡顿音响&#xff0c;还是丹拿音响&#xff0c;或者是BOSE音响&#xff0c;论地位&#xff0c;论音质柏林之声也是名列前茅。星骏汇小许Xjh15863 升…

2.C语言——输入输出

1.字符输入输出函数 1.输入:getchar() 字面意思&#xff0c;接收单个字符&#xff0c;使用方法 char a; a getchar();实际上效果等同于char a; scanf("%c",&a);2.输出:putchar() 2.格式化输入输出函数 1.输入:scanf() 格式&#xff1a; scanf(“格式控制…