JAVA常用框架及漏洞[通俗易懂]

2022-07-18 17:49:16 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

JAVA常用框架及漏洞

Java框架

MyBatis介绍:

1. MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:

  1. 封装JDBC操作
  2. 利用反射打通Java类与SQL语句之间的相互转换

MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力

漏洞:

1. 存在SQL注入漏洞

2. 远程代码执行漏洞

3. 反序例化漏洞

Spring介绍:

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架

1. IOC(控制反转)或DI(依赖注入):明确定义组件的接口,独立开发各个组件,然后根据组件的依赖关系组装运行;即将创建及管理对象的权利交给Spring容器。Spring是一个轻型容器(light-weight Container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。能够让相互协作的软件组件保持松散耦合。降低了业务对象替换的复杂性,提高了组件之间的解耦。

2. AOP(面向切面编程):通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。即系统级的服务从代码中解耦出来。例如:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来。允许你把遍布应用各处的功能分离出来形成可重用组件。

漏洞:

1. Spring Security OAuth2 远程命令执行漏洞

2. Spring WebFlow 远程代码执行漏洞

3. Spring Data Rest 远程命令执行漏洞

4. Spring Messaging 远程命令执行漏洞

5. Spring Data Commons 远程命令执行漏洞

6. Spring Framework中的XML外部实体(XXE)注入

7. Spring Security认证绕过

8. Spring Framework 目录遍历漏洞

9. Spring AMQP中的远程代码执行

10. Spring Boot框架SPEL表达式注入漏洞

11. Spring Data JPA SQL盲注

12. Spring Security未经授权的访问

13. Spring Expression Language SPEL表达式注入漏洞

14. Spring Cloud Config Server: 目录遍历

15. Spring Security OAuth 开放重定向

16. Spring Boot Actuator命令执行漏洞

17. Spring Framework RFD漏洞

18. Spring Cloud Config路径穿越导致的信息泄露

Spring介绍:

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。

漏洞:

1. Spring MVC 目录穿越漏洞

2. Spring MVC xss漏洞

3. Spring MVC 远程命令执行

4. Spring framework(cve-2010-1622)漏洞

5. Spring MVC SQL注入攻击

6. Spring MVC 任意代码执行

Struts介绍:

Struts2是一个相对流行的MVC框架

漏洞:

1. Struts-S2-013漏洞利用

2. Struts-S2-001漏洞利用

3. Struts-S2-016漏洞利用

4. Struts-S2-045漏洞利用

5. Struts-S2-057漏洞利用

Struts2爆出了50多个漏洞了

Hibernate介绍:

Hibernate框架是当今主流的java持久层框架之一,是一个开放源码的ORM(Object Relational Mapping,对象关系映射)框架,它对JDBC进行了轻量级的封装,使得JAVA开发人员可以使用面向对象的编程思想来操作数据库。

漏洞:

1. Hibernate HQL注入漏洞

2. Hibernate SQL注入漏洞、

JSF介绍:

JSF 的主要优势之一就是它既是 Java Web 应用程序的用户界面标准又是严格遵循模型-视图-控制器 (MVC) 设计模式的框架。用户界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离使 JSF 应用程序更易于管理。为了准备提供页面对应用程序数据访问的 JSF 上下文和防止对页面未授权或不正确的访问,所有与应用程序的用户交互均由一个前端FacesServlet(控制器)来处理。

漏洞:

1. JSF反序列化漏洞

Vaadin介绍:

Vaadin 包含了一组Web 应用开发的API,大量的UI 组件,多种内置主题,以及数据绑定允许将数据源直接绑定到UI组件。

漏洞:

1. Vaadin flow 安全漏洞

2. Vaadin server 安全漏洞

GWT介绍:

GWT提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。熟悉Java AWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。

漏洞:

1. GWT url命令漏洞执行

2. GWT 跨站脚本漏洞

Grails介绍:

Grails是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate等开源框架之上,是一个高生产力一站式框架。

漏洞:

1. Grails数据绑定安全绕过漏洞

Play介绍:

Play是一款开源、轻量、无状态、Web友好的架构,使用Java语言编写并遵循MVC模式,集成了当今Web开发所需的组件和API。此外Play可以给应用程序提供可预测的和最小的资源消耗(CPU,内存,线程),可构建高扩展的应用程序。

漏洞:

1. Play任意文件读取

2. Play Framework 安全漏洞

3. Play csrf漏洞

Blade介绍:

Blade是一款简洁优雅、微内核设计的 Java Web 框架。

漏洞:

1. Blade Team云虚拟化平台

结语:只是部分漏洞,大佬勿喷

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/156466.html原文链接:https://javaforall.cn

0 人点赞