Java EE

CVE-2020-14882&14883weblogic未授权命令执行漏洞复现

房东的猫 提交于 2020-12-11 23:25:04
本文涉及靶场知识点- CVE-2020-14882&14883 weblogic未授权访问漏洞 https://www.hetianlab.com/expc.do?w=exp_ass&ec=ECIDfdd4-97c8-4e32-89b7-df58dd102e4c&pk_campaign=weixin-wemedia 简介   WebLogic 是美国 Oracle 公司的主要产品之一,是商业市场上主要的 J2EE 应用服务器软件,也是世界上第一个成功商业化的 J2EE 应用服务器,在 Java 应用服务器中有非常广泛的部署和应用。 概述   10 月 21 日,Oracle 官方发布数百个组件的高危漏洞公告。其中组合利用 CVE-2020-14882/CVE-2020-14883 可使未经授权的攻击者绕过 WebLogic 后台登录等限制,最终远程执行代码接管 WebLogic 服务器,利用难度极低,风险极大。   此处漏洞均存在于 WebLogic 的控制台中。该组件为 WebLogic 全版本自带组件,并且该漏洞通过 HTTP 协议进行利用。   CVE-2020-14882允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链

Spring MVC 报异常:org.springframework.web.util.NestedServletException: Request processing failed

别说谁变了你拦得住时间么 提交于 2020-12-11 17:42:26
在使用SpringMVC绑定基本类型(如String,Integer等)参数时,应通过@RequestParam注解指定具体的参数名称,否则,当源代码在非debug模式下编译后,运行时会引发HandlerMethodInvocationException异常,这是因为只有在debug模式下编译,其参数名称才存储在编译好的代码中。 譬如下面的代码会引发异常: @RequestMapping(value = "/security/login", method = RequestMethod.POST) public ModelAndView login(@RequestParam String userName, @RequestParam String password, HttpServletRequest request) { …… 如果使用Eclipse编译不会在运行时出现异常,这是因为Eclipse默认是采用debug模式编译的,但是如果使用Ant通过javac任务编译的话就会出现异常,除非指定debug=”true”。出现的异常如同: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework

java实战项目教程分享(干货,建议收藏)

主宰稳场 提交于 2020-12-11 13:35:53
前言 :很多初级java程序员都活遇到的问题,不管是培训完,还是自学的,到了写简历的时候,没啥写的,尤其是速成班的那种培训,三四个月的时间,只是把基础学了一遍,还不知道学没学会,项目实战就别提了,登录注册都没弄明白,培训老师还叫你包装两三年的,哎真的是为了利益不择手段,哎,有点跑题了.下面就给大家分享几个java实战项目,给你简历增加点色彩,顺便还可以巩固一下之前学过的知识. 目录 一:记账本 二:天猫商城: 三: 趋势投资 一:记账本 学习地址 : https://how2j.cn/k/hutubill/hutubill-tutorials/710.html 本项目是基于Swing和JDBC开发的图形界面桌面应用,涵盖了J2SE的绝大部分基础知识,通过这个项目能运用和锻炼几乎大部分的J2SE知识和技能。 功能预览: 涉及到如下内容: 基础内容: 面向对象 字符串数字 日期 中级内容: 异常 ,集合,JDBC, 反射机制,I/O,Swing, 利用TableModel更新数据, 图形界面的皮肤 高级内容: 图表chart动态生成,数据库的备份与恢复,自定义圆形进度条 软件设计思想: 单例模式,面板类与监听器类松耦合,Entity层设计,DAO层设计,Service层设计 业务常见处理手法 : CRUD操作,配置信息,配置信息初始化,报表生成,一对多关系,多对一关系 二:天猫商城:

java全栈工程师

江枫思渺然 提交于 2020-12-11 09:08:49
想要成为一名合格的Java全栈工程师需要掌握哪些知识呢? 首先Java全栈工程师首先必须精通Java,那么作为一个零基础的人,要想成为Java全栈工程师第一步就是学好 JavaSE (标准版),它是Java的标准版,是整个Java的基础和核心,也是JavaEE和JavaME技术的基础,主要用于开发桌面应用程序。 学习完JavaSE后,我们一般会学习 JavaEE (企业版),它提供了企业级应用开发的完整解决方案,比如开发网站,还有企业的一些应用系统,是Java技术应用最广泛的领域。也有极少部分人学习JavaME(微版),是一个技术和规范的集合,它为移动设备提供了Java环境的开发与应用平台。是用来做手机软件的。 在学习JavaEE前呢,我们需要学习一些前端和数据库的知识。其中前端知识主要包括 HTML,CSS,JavaScript,JQuery,Ajax,EasyUI,bootstrap 等等。数据库知识呢,市场上主要流行的就是 oracle 和 mySQL 两种数据库,当然也包含其他,我主要学习了这两种。 在这期间,穿插学习了 TCP,UDP协议,http协议,XML 等知识,也是学习前端知识的一些重要知识点。 学完这些前端知识和数据库后我们开始了正式的JavaEE知识的学习。 Java EE平台构建于Java SE平台之上,提供一组API和运行环境来开发和运行大规模的,多层的

微服务三大利器之限流

∥☆過路亽.° 提交于 2020-12-11 05:47:03
背景 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。缓存、降级和限流是保护微服务系统运行稳定性的三大利器。 缓存:提升系统访问速度和增大系统能处理的容量 降级:当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉 限流:解决服务雪崩,级联服务发生阻塞时,及时熔断,防止请求堆积消耗占用系统的线程、IO等资源,造成其他级联服务所在服务器的崩溃 这里我们主要说一下限流,限流的目的应当是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率就可以拒绝服务、等待、降级。 首先,我们需要去了解最基本的两种限流算法。 限流算法 漏桶算法 令牌桶算法 计算器算法 这里主要是提一下,详细了解限流算法请参考下面链接 https://www.cnblogs.com/hopeiscoming/p/12297528.html 限流框架 下面说一下现有流行的限流工具 guava Google的Guava工具包中就提供了一个限流工具类——RateLimiter。RateLimiter是基于“令牌通算法”来实现限流的。 hystrix hystrix主要是通过资源池以及信号量来限流,暂时能支持简单的限流 sentinel 限流比较主流的三种算法:漏桶,令牌桶,滑动窗口。而Sentinel采用的是最后一种,滑动窗口来实现限流的。当然sentinel不仅仅局限于限流

使用JPA实现DDD持久化-O/R映射元数据-特殊属性映射:ID、Version和Transient

痴心易碎 提交于 2020-12-10 19:39:31
特殊属性映射:ID、Version和Transient 实体类有一些特殊的属性,典型的有两个:实体标识符属性和乐观锁属性。由于这两个属性是所有的实体通用的,我将它们定义在一个抽象基类 BaseEntity 中,由所有的实体类直接或间接继承。 BaseEntity 被类级逻辑注解 @MappedSuperclass 标识,其意义在下文继承映射中讲述。 一、ID属性 前文说过,实体必须拥有唯一的标识符,用于区别同类的其他实体。实体标识符属性用 @Id 逻辑注解标识。这个注解可以继承。 一个类要成为实体类,至少要同时符合下面的条件: 在类级拥有 @Entity 注解。 在自有或继承的可以作为标识符的属性上拥有 @Id 注解。 下面是 @Id 注解标识的标识符属性: @MappedSuperclass public abstract class BaseEntity implements Serializable { @Id @GeneratedValue private int id ; } 实体的 ID 属性是关联实体对象实例和数据行的关键。通常实体利用这个属性值作为对象标识符而数据库表利用它作为数据行的主键值。 实体 ID 既可以由应用代码设置(例如 UUID 就是很好的候选),也可以由数据库生成。上面的例子中,整型的标识符字段 id 除了被注解为 @Id 之外还被注解为

JVM中8种垃圾收集器小结

和自甴很熟 提交于 2020-12-10 19:24:20
JDK 发展历史 JAVA 1.0,代号Oak橡树) 于 1996-01-23 发行 JAVA 1.1 1997-02-19 发行, 主要更新内容: 引入 JDBC 添加内部类支持 引入 JAVA BEAN 引入 RMI 引入反射 JAVA 1.2, 代号 Playground(操场) 1998-12-8 发行,主要更新内容: 引入集合框架 对字符串常量做内存映射 引入 JIT(Just In Time)编译器 引入打包文件数字签名 引入控制授权访问系统资源策略工具 引入 JFC(Java Foundation Classes),包括 Swing1.0,拖放和 Java2D 类库 引入 Java 插件 JDBC 中引入可滚动结果集,BLOB,CLOB, 批量更新和用户自定义类型 Applet 中添加声音支持 JAVA1.3,代号 Kestrel(红隼) 2000-5-8 发布,主要更新内容: 引入 Java Sound API 引入 jar 文件索引 对 Java 各方面多了大量优化和增强 Java Platform Debugger Architecture 用于 Java 调式的平台。 JAVA 1.4,代号 Merlin(隼) 2004-2-6 发布(首次在 JCP 下发行),主要更新内容: 添加 XML 处理 添加 Java 打印服务(Java Print Service

移动端架构师

亡梦爱人 提交于 2020-12-10 07:50:06
download: 移动端架构师 移动端普通工程师到架构师的全方位蜕变 全面掌握面向移动端未来的主流技术栈 从零开始亲自构建千万级电商项目,串联移动架构师成长各阶段 知识结构编辑 软件系统架构师综合的知识能力包括9个方面,即: 1、战略规划能力。 2、业务流程建模能力。 3、信息数据结构能力。 4、技术架构选择和实现能力。 5、应用系统架构的解决和实现能力。 6、基础IT知识及基础设施、资源调配能力。 7、信息安全技术支持与管理保障能力。 8、IT审计、治理与基本需求分析、获取能力。 9、面向软件系统可靠性与系统生命周期的质量保障服务能力。 作为系统架构师,必须成为所在开发团队的技术路线指导者;具有很强的系统思维的能力;需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,哪些是无效的。架构师应当是一个成熟的、丰富的、有经验的、有良好教育的、学习快捷、善沟通和决策能力强的人。丰富是指他必须具有业务领域方面的工作知识,知识来源于经验或者教育。他必须广泛了解各种技术并精通一种特定技术,至少了解计算机通用技术以便确定那种技术最优,或组织团队开展技术评估。优秀的架构师能考虑并评估所有可用来解决问题的总体技术方案。需要良好的书面和口头沟通技巧,一般通过可视化模型和小组讨论来沟通指导团队确保开发人员按照架构建造系统。 具备的能力编辑 (1)技术能力 技术能力,不用置疑肯定是最重要的

CDN加速

微笑、不失礼 提交于 2020-12-10 06:38:08
CDN加速 什么是CDN CDN英文全称为 Content Delivery Network,即内容分发网络。CDN构建在现有的网络之上,将网站的内容分发到最接近用户的边缘节点。举例:假设广州用户要访问的服务器在北京,利用CDN技术后,用户不用“翻山越岭”,经过各种网络到达北京的服务器,而是直接访问在广州的CDN边缘节点。 传统的DNS解析访问 使用CDN后的访问 用户访问域名 www.huawei.com 递归交给本地域名服务器去负责查询。 本地域名服务器经过迭代查询由 huawei.com 的域名服务器返回CNAME解析到的地址 www.huawei.com.akadns.net 。 本地域名服务器去迭代查询 www.huawei.com.akadns.net 经过dig +trace 命令追踪发现又经过一次CNAME到 www.huawei.com.lxdns.com ,具体原因没有深究,暂且认为此 www.huawei.com.lxdns.com 为真正的CDN DNS域名服务器地址;本地域名服务器再次去迭代查询 www.huawei.com.lxdns.com 的IP地址。 经过DNS全局负载均衡和区域负载均衡等一系列的智能调度,分配CDN节点,确定 www.huawei.com.lxdns.com 的IP地址。 全局负载均衡设备根据用户IP地址,以及用户请求的内容URL

default-servlet-handler不生效原因,springmvc静态资源拦截方案比较

我怕爱的太早我们不能终老 提交于 2020-12-10 04:27:56
springmvc为什么要拦截静态资源? 简单来说,为了请求的url不带类似*.action,*.do,比如http://localhost:8080/system/index.action,spring团队统一风格,而web项目配置的web.xml中,所有请求都必须走过DispatcherServlet,当然就包括了静态资源,比如http://localhost:8080/html/index.html,为了解决这个问题,spring给了两种方案,下面我们一起来讨论下两种方案的使用和区别,给新手同学们一个很自白,清晰的认识! 解决办法 说解决办法之前,咱先来聊下web项目的结构,如下图所示,大家可以看到默认webapp下有个WEB-INF文件夹,这个文件夹是提升文件安全级别的,如果不设置,是访问不到的,所以大家一般看到的资源文件(jsp,css,jss)都在WEB-INF文件夹下。 解决办法1: <mvc:default-servlet-handler /> 如果项目是这样配置的,你访问不到WEB-INF/css/下的文件,因为springmvc上下文定义了一个DefaultServletHttpRequestHandler用于处理静态文件的,他做的工作是转发给Spring默认处理器DispatcherServlet