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)


相关推荐

  • 行为识别数据集汇总[通俗易懂]

    行为识别数据集汇总[通俗易懂]工欲善其事,必先利其器http://www.cs.utexas.edu/~chaoyeh/web_action_data/dataset_list.html,此链接内容更全,可惜整理完后发现的。1.TheKTHDataset(2004)KTH数据集于2004年的发布,是计算机视觉领域的一个里程碑。此后,许多新的数据库陆续发布。数据库包括在4个不同场景下25个人完成的6…

  • mybatismysql批量insert数据_mysql数据库简介

    mybatismysql批量insert数据_mysql数据库简介MySQL批量插入

  • servlet异步请求

    servlet异步请求1、什么是servlet异步请求Servlet3.0之前,一个普通Servlet的主要工作流程大致如下:(1)、Servlet接收到请求之后,可能需要对请求携带的数据进行一些预处理;(2)、调用业务接口的某些方法,以完成业务处理;(3)、根据处理的结果提交响应,Servlet线程结束。其中第二步处理业务逻辑时候很可以碰到比较耗时的任务,此时servlet主线程会阻塞等待完成业务处理,对于并发比较大的请求可能会产生性能瓶颈,则servlet3.0之后再此处做了调整,引入了…

  • 电脑蓝屏出现collecting_开机蓝屏collecting

    电脑蓝屏出现collecting_开机蓝屏collecting1.问题描述如题,在用PyCharm进行Python代码调试查看具体变量时,会随机遇到一直显示collectingdata,到最后报错Timeoutwaitingforresponse,在界面中看不到变量内部的内容,如下图所示:2.解决办法在PyCharm,打开Setting界面,在如下设置项中勾选“Geventcompatible”即可,如下图所示:至此,问题得到解决。…

  • 深入理解Volatile关键字及其实现原理「建议收藏」

    深入理解Volatile关键字及其实现原理「建议收藏」volatile的用法volatile通常被比喻成"轻量级的synchronized",也是Java并发编程中比较重要的一个关键字。和synchronized不同,volatile是一个变量修饰符,只能用来修饰变量。无法修饰方法及代码块等。volatile的用法比较简单,只需要在声明一个可能被多线程同时访问的变量时,使用volatile修饰就可以了。如以下代码,是一个比较典型的使用双…

  • PKCS11接口解析「建议收藏」

    PKCS11接口解析「建议收藏」pkcs密码中间件位于上层应用和底层安全设备之间,应用基于PKCS#11标准接口开发各类应用程序。主要包括2个库主API库:提供给应用的PKCS11接口。 tokenDLL库:由主API库调用,完成从上向下到指定设备的套接。 安全密码设备:安全服务资源和实施的载体,完成具体安全功能支撑。表pkcs11函数接口 种类 函数 …

发表回复

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

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