keac's Bolg.

keac's Bolg.

A Network Security Amateur

Java内存马
前言Java内存马,顾名思义就是无文件落地的webshell。 目前业内主要讨论的内存马有以下几种 动态注册 servlet/filter/listener(使用 servlet-api 的具体实现) 动态注册 interceptor/controller(使用框架如 spring/struts2) 动态注册使用职责链设计模式的中间件、框架的实现(例如 Tomcat 的 Pipeline & Valve,Grizzly 的 FilterChain & Filter 等等) 使用 java agent 技术写入字节码 Servlet API 提供的动态注册机制Servl...
将Java文件打包成Jar包
前言在学习中遇到了几个需求,需要把java文件给单独打包成jar包 命令打包首先先使用javac 命令编译java文件得到class 1javac ReferenceObjectFactory.java 新建一个文件,名字随便起,可以叫manifest 冒号后面必须跟上空格 最后Main-Class 后面需要多出一行 参数为main函数的class 12Manifest-Version: 1.0Main-Class: test 把编译好的.class文件放到一个文件夹 1jar -cvfm main.jar manifest -C test . 注意路径问题,其中test后面...
Java JNDI
JNDI 是Java提供的Java命令和目录接口,通过调用JNDI的接口可以快速,定位资源或者其他程序。可访问的服务和数据源有:JDBC、LDAP,RMI,DNS,NIS,CORBA。 Naming Service 命名服务: 命名服务将名称和对象进行关联,提供通过名称找到对象的操作,例如:DNS系统将计算机名和IP地址进行关联、文件系统将文件名和文件句柄进行关联等等。 Directory Service 目录服务: 目录服务是命名服务的扩展,除了提供名称和对象的关联,还允许对象具有属性。目录服务中的对象称之为目录对象。目录服务提供创建、添加、删除目录对象以及修改目录对象属性等操作。 R...
Apache Commons Collections反序列化漏洞
前言Apache Commons是Apache开源的Java通用类项目在Java中项目中被广泛的使用,Apache Commons当中有一个组件叫做Apache Commons Collections,主要封装了Java的Collection(集合)相关类对象。 Transformer该接口的重要实现类有:ConstantTransformer、invokerTransformer、ChainedTransformer、TransformedMap ConstantTransformerConstantTransformer类是Transformer接口其中的一个实现类,Constant...
Java反序列化
什么是反序列化和序列化序列化合反序列化是什么呢,我们可以想象为比如我们从某宝买一张桌子或者柜子,这么大一个柜子肯定不会直接寄过来,那样太容易损坏而且也非常麻烦,一般来说的做法就是商家把桌子拆成一块块桌板寄过来,然后你自己拿到之后再进行拼接,那么商家在打包成木板的时候就是序列化的过程,反之你拆包装拼装桌子的时候就是反序列化的过程。 他的定义呢就是把一个Java类的一个实例序列化为数组(打包,方便传输),用于存储对象实例化信息:类成员变量合属性值。 因为Java序列化对象可以很方便的把对象转换成字节数组,又可以很方便的把字节数组反序列化成java对象,所以频繁的使用在Socket传输。在RM...
Java Unsafe
Unsafe 是Java底层API的一个类,从名字就知道这个类不太安全。 Unsafe提供了非常底层的内存、CAS、线程调度、类、对象等操作 反射调用Unsafe12345678910111213141516171819// 反射获取Unsafe的theUnsafe成员变量Field theUnsafeField = Unsafe.class.getDeclaredField("theUnsafe");// 反射设置theUnsafe访问权限theUnsafeField.setAccessible(true);// 反射获取theUnsafe成员变量值Unsafe unsafe = (U...
Java ClassLoader
前言Java依赖于JVM(Java虚拟机),在运行前需要编译为class二进制文件,程序运行的时候不会一口气全部加载class到内存,而是通过java的类加载机制来进行动态加载。 ClassLoader类再JVM类加载器中,最顶层的是Bootstrap ClassLoader(引导加载器)、Extension ClassLoader(拓展类加载器)、App ClassLoader(系统类加载器)。 ClassLoader是一个抽象类,主要功能就是通过指定的类名称找到或生成对应的字节码返回一个java.lang.Class类的实例。开发者就可以通过继承ClassLoader类来实现自定义加...
Java 反射机制
前言Java反射机制可以无视类方法和变量去访问权限修饰符,并且可以调用任何类的任何方法,访问并修改成员变量值。也就是说能控制反射的类名、方法名和参数的前提下,如果我们发现了一个java反射调用的漏洞,我们就可以为所欲为了。 反射 Reflection反射是java的特性之一,在C/C++语言中不存在反射这个概念,有了反射java可以更加灵活调控自身运行时的信息,操作类和对象的内部属性。 反射的用途非常广,在我们使用IDE工具进行开发的时候,我们输入一个对象并且想调用它的属性或者方法的时候,IDE会自动列出它的属性和方法,这些就是通过反射来实现的。再比如JavaBean和JSP之间的调用也...
idea-jetbrains-agent-latest
之前申请的EDU邮箱白嫖的IDEA高级版快到期了,想办法去激活 在https://zhile.io/2018/08/17/jetbrains-license-server-crack.html 找到了一个离线激活方法,噩梦开始 按照他的方法拖进去激活 然后你会发现按照他的方法 完 全 激 活 不 了 !!!!,而且重装删除配置文件也不解决问题! 而且也没法恢复,不知道他是改动了哪里的东西 逆向分析他的代码一波 东西有点多,翻不过来,放弃 从everything 搜索到 他的日志目录在 C:\Users\keac\AppData\Local\JetBrains\PyCharm2...