1.关于RMI 只启用RMI服务时,这时候RMI客户端能够去打服务端,有两种情况,第一种就是利用服务端本地的gadget,具体要看服务端pom.xml文件 比如yso中yso工具中已经集合了很多gadget chain 本地利用yso的打rmi注册表的模块 java -cp .\ysoserial.jar ysoserial.exploit.RMIRegistryExploit 127.0.0.1 9999 CommonsCollections1 calc.exe 此时在jdk1.7.0_21和…
目录 0 前言 1 Java高版本JNDI绕过的源代码分析 1.1 思路一的源码分析 1.2 思路二的源码分析 2 基于本地工厂类的利用方法 2.1 org.apache.naming.factory.BeanFactory 2.1.1 javax.el.ELProcessor.eval 2.1.2 groovy.lang.GroovyClassLoader.parseClass(String text) 2.1.3 javax.management.loading.MLet 探测类是否存在 2…
JDK 高版本的新特性 1.JDK5的新特性: 自动拆装箱 见Integer部分笔记 泛型 增强for循环 静态导入 可变参数 见集合部分笔记 枚举 是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内.举例:一周只有7天,一年只有12个月等. 回想单例设计模式:单例类是一个类只有一个实例 那么多例类就是一个类有多个实例,但不是无限个数的实例,而是有限个数的实例.这才能是枚举类. 我们自己定义枚举类比较麻烦,所以,java就提供了枚举类供我们使用. 格式是:只有枚举项的枚举类 publi…
做这个功能的时候在网上查了一些资料,代码如下,在这个代码在谷歌浏览器46版本是没问题的,在火狐浏览器也行,但是在谷歌浏览器高版本下是不兼容的 <div id="body"> <section class="featured"> <div class="content-wrapper"> <hgroup class="title"> <h1>Welcome to web…
群里大佬们打哈哈的内容,菜鸡拿出来整理学习一下,炒点冷饭. 主要包含以下三个部分: jndi注入原理 jndi注入与反序列化 jndi注入与jdk版本 jndi注入原理: JNDI(Java Name and Dictionary Interface Java名称与目录接口),一套JavaEE的标准,类似Windows注册表. 结构如下: key:路径+名称 value:存的数据(在jndi中存的是对象Object) jndi是java用于访问目录和命名服务的 API.使用jndi进行查询本来是…
Groovy作为一种动态语言,性能和JAVA比肯定是差不少,根据网友的测试,由于测试环境,场景和编译参数的不同,大概有差2到7倍的差距 那么同样的Groovy,在不同的JDK版本下,会有着怎样的差异呢?好奇试了一下 测试代码写得非常简单,如下,为了测试一些动态语言中常用的特性,特别用上了闭包和动态特性,这样才有意义么 class GroovyWithJdk{ static void run(){ 1000.times { "fib"(20) } //为了动态特性 } static de…
在阿里云Centos环境下,搭建PHP运行环境,PHP选择了php7版本,Mysql选择了5.7版本,Apache选择了2.4版本,在搭建SVN版本控制服务过程中出现了不兼容问题,当前环境下Apache的2.4版本要求SVN版本必须高于1.7.按照Centos的yum安装方式也是达不到版本要求,在之前的笔记帖子里使用的Apache版本低,所以安装的过程比较顺利,两张方式都有步骤. http://www.cnblogs.com/wt645631686/p/6869019.html #老贴 需要的依…
用的tomcat是低版本的,但是用的jdk却是高版本的,用Servlet做的项目运行都没有问题,但是直接运行jsp却死活都运行失败. 最后发现是tomcat和jdk的版本问题造成的. 总结如下: tomcat v7.0-------support-------->Java EE 5 and 6 tomcat v8.0-------support-------->Java EE 5,6 and 7 tomcat v8.5-------support-------->Java EE 5,6…
错误提示信息:Unsupported major.minor version 52.0,意思是说,当前jdk的版本不支持更高版本jdk编译出来的class文件. 我的编译环境,eclipse使用的是jdk1.8,而Linux上的是jdk1.7,jdk1.7.0版本号为48,jdk1.8.0版本号是52,因此会产生上述问题. 经过解决后,重新打成war包发布就可以了 解决方法有二: 1.只需要把Linux上的jdk升级到jdk1.8,就可以执行. 2.更改如下地方也可以解决windows->Pre…
CentOS下安装高版本GCC 微信分享:   有时编译需要用到4.8以上版本的GCC,由于CentOS源没有提供高版本的GCC安装包,这时就不能通过安装包安装.通常的解决方案就是通过编译安装高版本的GCC. 这里介绍一个更高级.更好用.更简单的方法来升级系统GCC,本文将介绍如何利用CentOS的新特性SCL进行高版本GCC的安装. 什么是SCL 请参考:如何在CentOS上启用软件集Software Collections一文 通过SCL安装GCC 官方SCL仓库 devtoolset-3:…