keac's Bolg.

keac's Bolg.

A Network Security Amateur

F5 BIG IP 漏洞复现
F5怎么找漏洞很简单,/mgmt/shared/authn/login 看看有没有 EXP就是 123456789101112131415command = "whoami" url = f'{host}/mgmt/tm/util/bash' headers = { 'Accept-Encoding': 'gzip, deflate', 'Ac...
treexml 复现
开始从群里看到师傅发的oa的漏洞,跟着源码跟踪学习下 123456789101112131415161718192021222324252627POST /data/sys-common/treexml.tmpl HTTP/1.1Host: xxxxx:8443Connection: closeUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safa...
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类来实现自定义加...