思维导图
见 22安全开发
知识点:
- 47、JavaEE-SpringBoot-监控系统-Actuator
- 48、JavaEE-SpringBoot-接口系统-Swagger
- 49、JavaEE-SpringBoot-监控&接口&安全问题
章节点
- 1、PHP:
功能:新闻列表,会员中心,资源下载,留言版,后台模块,模版引用,框架开发等
技术:输入输出,超全局变量,数据库操作,逻辑架构,包含上传&下载删除;
技术:JS&CSS混用,Cookie,Session操作,MVC架构,ThinkPHP引用等。
安全:原生PHP开发安全,模版引用安全,第三方插件安全,TP框架安全等 - 2、JS:
功能:登录验证,文件操作,SQL操作,云应用接入,框架开发,打包器使用等
技术:原生开发,DOM,常见库使用,框架开发(Vue,NodeJS),打包器(Webpack)等
安全:原生开发安全,NodeJS安全,Vue安全,打包器Webpack安全,三方库安全问题等 - 3、Java:
功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方库使用等.
框架库:MyBatis,SpringMVC,SpringBoot,Shiro,Log4j,FastJson等
技术:Servlet,Listen,Filter,Interceptor,JWT,AOP,待补充
安全:SQL注入,RCE执行,反序列化,脆弱验证,未授权访问,待补充
安全:原生开发安全,第三方框架安全,第三方库安全等,,架构分析待补充
SpringBoot-监控系统-Actuator
SpringBoot Actuator模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP跟踪等,帮助我们监控和管理Spring Boot应用。
-开发使用:
1、引入依赖
1 | <dependency> |
2、配置监控
- 暴露:
1
2
3
4
5
6
7
8
9#application.properties
management.endpoints.web.exposure.include=*
#application.yml
management:
endpoints:
web:
exposure:
include: '*' - 安全配置:
1
2
3
4
5
6
7
8
9
10
11#application.properties
management.endpoint.env.enabled=false
management.endpoint.heapdump.enabled=false
#application.yml
management:
endpoint:
heapdump:
enabled: false #启用接口关闭
env:
enabled: false #启用接口关闭 - 2、1 图像化Server&Client端界面
Server:引入Server依赖-开启(@EnableAdminServer)
Client:引入Client依赖-配置(连接目标,显示配置等)
3、安全问题
- heapdump泄漏
jvisualvm分析器(安装java后直接搜索jvisualvm)
JDumpSpider提取器
https://github.com/whwlsfb/JDumpSpider/releases
分析提取出敏感信息(配置帐号密码,接口信息 数据库 短信 云应用等配置) - 其他利用见下文
https://blog.csdn.net/drnrrwfs/article/details/125242990
分析得到有一些组件(不安全的组件,如log4j)
SpringBoot-接口系统-Swagger
Swagger是当下比较流行的实时接口文文档生成工具。接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发结束后在进行联调测试。
参考:https://blog.csdn.net/lsqingfeng/article/details/123678701
开发使用
1、引入依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<--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、配置访问
1
2
3
4
5
6
7
8#application.properties
spring.mvc.pathmatch.matching-strategy=ant-path-matcher
#application.yml
spring
mvc:
pathmatch:
matching-strategy: ant_path_matcher2.X版本启动需要注释@EnableSwagger2
3.X版本不需注释,写的话是@EnableOpenApi
2.X访问路径:http://ip:port/swagger-ui.html
3.X访问路径:http://ip:port/swagger-ui/index.html3、安全问题
自动化测试:Postman
泄漏应用接口:用户登录,信息显示,上传文件等
可用于对未授权访问,信息泄漏,文件上传等安全漏洞的测试.