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

JAVA常用框架及漏洞[通俗易懂]三大语言常用框架及漏洞Java框架1.MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:封装JDBC操作 利用反射打通Java类与SQL语句之间的相互转换MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。…

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

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云虚拟化平台

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

        

        

        

        

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 面试题,说说你对spring IOC和AOP的理解

    面试题,说说你对spring IOC和AOP的理解https://blog.csdn.net/s20081294/article/details/44677387在面试中,经常会问,说说你对springIOC和AOP的理解,问题很宽泛,似乎不知道从何说起。回答思路:1.先用通俗易懂的话解释下何为IOC和AOP———》2.各自的实现原理———–》3.自己的项目中如何使用以下是个人的一些总结,仅供参考。1.IOC…

  • 大话数据结构PDF/word

    大话数据结构PDF/word《大话数据结构》PDF版本链接:https://pan.baidu.com/s/1nfaEZBBEi-3-mTX7A4qfbA提取码:30kyword版本链接:https://pan.baidu.com/s/18hpIqQYy4wiVUAoBabqZ-A提取码:e4ja

  • QTreeview custom

    QTreeview custom设定字体virtualQVariantMyModel::data(constQModelIndex&index,introle)const{if(index.isValid()&&role==Qt::ForegroundRole){if(index.column()==2){

  • c++常量指针和指针常量_指针指向二维数组

    c++常量指针和指针常量_指针指向二维数组**一:常量**常量指针,指针常量,常量指针常量a)常量定义:不可修改的值,例如250,’A’b)const关键字功能:将变量常量化,四种形式(1)const可以修饰普通变量,一旦修饰该变量,该变量就当做常量看待,不可再更改Constinta=250;//将变量a常量化A=200;//gcc编译器报错(2)常量指针:不能通过指针变量来修改指向的内存区域的数据,主要…

  • mongodb菜鸟教程_mongodb怎么用

    mongodb菜鸟教程_mongodb怎么用MongoVUE是一个关于mongodb数据库管理的工具,并且免费,但超过15天后功能受限。我们可以通过删除mongodb相应的注册表项来解除限制。其步骤如下:1.运行‘win+R’;2.输入‘regedit’,如下图所示:3.进入注册表编辑器,找到与mongodb相关的注册表项,并将里面的注册表项全部删除,如下所示:4.最后可以发现mongovue可以正常使用了,mongovue被激活成功教程了。5.细…

  • Python回顾与整理2:Python对象

    Python回顾与整理2:Python对象

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号