首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

终极Java序列化Payload缩小技术

介绍 实战中由于各种情况,可能会对反序列化Payload的长度有所限制,因此研究反序列化Payload缩小技术是有意义且必要的 本文以CommonsBeanutils1链为示例,重点在于三部分: 序列化数据本身的缩小...STATIC代码块) 接下来我将展示如何一步一步地缩小 最终效果能够将YSOSERIAL生成的Payload缩小接近三分之二(从3692长度缩小到1296) YSOSERIAL 首先用YSOSERIAL工具直接生成...bytes = ctClass.toBytecode(); ctClass.defrost(); return bytes; 最终优化后得到长度:1296 相比YSOSERIAL直接生成的,缩小了64.8% 终极技术...工具类一行实现读写 其实我一开始就是使用该工具类在做,后来测试发现受用用Stream读写产生的Payload会更小 最后一个包使用URLClassLoader进行加载 注意一个小坑,传入URLClassLoader...urlClassLoader.loadClass("Evil); clazz.newInstance(); } catch (Exception ignored) { } } 代码 我对常见的反序列化链做了总结和测试

51310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java序列化工具-marshalsec

    marshalsec是一款java反序列利用工具,其可以很方便的起一个ldap或rmi服务,通过这些服务来去访问攻击者准备好的恶意执行类来达到远程命令执行或入侵的目的。...apache-maven-3.6.3 export PATH=$PATH:$MAVEN_HOME/bin 保存退出,执行source /etc/profile来生效该配置,完成上述步骤后,输入:mvn -v来测试...maven是否安装成功 若出现如下报错: NB: JAVA_HOME should point to a JDK not a JRE:意思是JAVA_HOME应该指向jdk而不是jre。...下面给出解决办法: 通过命令:echo $JAVA_HOME来获取java的安装路径 编辑/etc/profile配置文件,重新配置JAVA_HOME的路径,给他重新配置jdk的路径 再次...SpringPartiallyComparableAdvisorHolder, SpringAbstractBeanFactoryPointcutAdvisor, Rome, XBean, Resin) + -t:对生成的payloads进行解码测试

    2.7K20

    JMH - Java 代码性能测试终极利器、必须掌握

    Java 性能测试难题 现在的 JVM 已经越来越为智能,它可以在编译阶段、加载阶段、运行阶段对代码进行优化。...难道要研究如何避免,并进行正确编码才能进行严格的性能测试吗?显然不是,如果是这样的话,未免过于困难了,好在有一款一款官方的微基准测试工具 - JMH....JMH 的全名是 Java Microbenchmark Harness,它是由 Java 虚拟机团队开发的一款用于 Java 微基准测试工具。...用自己开发的工具测试自己开发的另一款工具,以子之矛,攻子之盾果真手到擒来,如臂使指。...掌握了 JMH 基准测试之后,可以尝试测试一些常用的工具或者框架的性能如何,看看哪个工具的性能最好,比如 FastJSON 真的比 GSON 在进行 JSON 转换时更 Fast 吗?

    5.5K20

    Java 序列化10倍性能优化对比测试

    今天分享 Java 对象序列化的不同方法,并对不同序列化方式的性能进行基准测试。 关于持久队列来讲,必须将 Java 堆内存的对象转换成文件中的二进制数据,对象序列化的性能将显著影响整体的性能表现。...相当多的高性能框架都会在序列化和反序列化上下功夫优化性能。本文使用了开源框架 Chronicle Queue 提供的能力进行序列化和反序列化对比测试。...Java 的 Serializable 标记接口提供了一种将 Java 对象序列化为二进制格式的默认方法,通常通过ObjectOutputStream 和ObjectInputStream 类。...Java 标准中未指定字段的布局方式,该标准允许单独的 JVM 实现优化。 许多方案会按字段大小降序对原始类字段进行排序,并依次排列它们。这样做的好处是可以在甚至原始类型边界上执行读取和写入操作。...基准测试 这里使用 JMH,使用此类对上述各种序列化替代方案的序列化性能进行了评估: @State(Scope.Benchmark) @BenchmarkMode(Mode.AverageTime)

    88110

    Java序列化利用工具 -- Java Deserialization Exp Tools

    Java序列化漏洞已经被曝出一段时间了,本人参考了网上大神的放出来的工具,将Jboss、Websphere和weblogic的反序列化漏洞的利用集成到了一起。...FreeBuf上已经公开了JBoss反序列化执行命令回显的工具,在本文中就不多做叙述了。...本工具暂时支持的功能: 1、本地命令执行并回显,无须加载外部jar包,支持纯内网环境检测。 2、支持JBoss、WebSphere和Weblogic的反序列化漏洞检测。...0X01 WebSphere的反序列化漏洞利用过程 WebSphere的反序列化漏洞发生的位置在SOAP的通信端口8880,使用的通信协议是https,发送的数据是XML格式的数据 <?...resultTmp.substring(x1, x2).trim(); else returnValue=resultTmp; return returnValue; } 0X02 文件列表读取 获取文件列表的功能是通过Java

    6K80

    Java序列化工具 gadgetinspector 初窥(下)

    作者:Longofo@知道创宇404实验室 时间:2019年9月4日 接上篇 Java序列化工具 gadgetinspector 初窥 (上) 样例分析 现在根据作者的样例写个具体的demo实例来测试下上面这些步骤...隐式调用 测试隐式调用看工具能否发现,将FnEval.java做一些修改: FnEval.java package com.demo.ifn; import java.io.IOException...匿名内部类 测试匿名内部类,将FnEval.java做一些修改: FnEval.java: package com.demo.ifn; import java.io.IOException...但是这里也还有一些问题,比如反序列化是将this以及类的属性都当作了0参,因为反序列化时这些都是可控的,但是在其他漏洞中这些就不一定可控了。...缺 陷 目前还没有做过大量测试,只是从宏观层面分析了这个工具的大致原理。

    1K20

    Java序列化工具 gadgetinspector 初窥 (上)

    这是一个基于字节码静态分析的、利用已知技巧自动查找从source到sink的反序列化利用链工具。...后面尝试了调试这个工具,大致理清了这个工具的工作原理,下面是对这个工具的分析过程,以及对未来工作与改进的设想。 关于这个工具 •这个工具不是用来寻找漏洞,而是利用已知的source->......•这个工具是基于字节码分析的,对于Java应用来说,很多时候我们并没有源码,而只有War包、Jar包或class文件。•这个工具不会生成能直接利用的Payload,具体的利用构造还需要人工参与。...在JAVA中,对象的序列化和反序列化被广泛的应用到RMI(远程方法调用)及网络传输中。...f2为FnConstant就能到达FnEval.invoke了(关于AbstractTableModel$ff19274a.hashcode中的f.invoke具体选择IFn的哪个实现类,根据后面对这个工具测试以及对决策原理的分析

    1.5K20

    Java 性能测试框架工具-JunitPerf

    一、背景 最近写文章需要了解和对比一些函数的性能差异,因此在网上找到了一个简单易用的 Java 性能测试框架 junitperf。 官方介绍它的优势是: 可以和 Junit5 完美契合。...使用简单,便于项目开发过程中的测试实用。 提供拓展,用户可进行自定义开发。 二、范例 2.1 依赖 <!...大家还可以通过查看单元测试的方式快速掌握用法: 2.2 示例 使用很简单,建议直接进入 JunitPerfConfig 直接中看注释即可明白每个属性的含义。...* @return time in mills */ long duration() default 60_000L; /** * 存放统计信息工具 *...更多详细内容参见 github 项目说明,更多高级用法可以下载源码去看下单元测试,也可以根据源码自行探索。 如果我的文章对你有帮助,欢迎关注,点赞评论!!

    98210

    10款常用Java测试工具

    10款常用Java测试工具 1. 美国Segue公司的Silk系列产品    Segue公司一直专注于软件质量优化领域。...(1) SilkPerformer——企业级性能测试工具   企业级自动化测试工具能够支持多种系统,如Java、.Net、Wireless、COM、CORBA、Oracle、Citrix、MetaFrame...、客户机/服务器、以及各种ERP/CRM应用   多项专利技术精确模拟各种复杂的企业环境   可视化脚本记录功能及自定义工具简化了测试创建工作   SilkPerformer的Java/.NET...MaxQ   MaxQ是一个免费的功能测试工具。它包括一个HTTP代理工具,可以录制测试脚本,并提供回放测试过程的命令行工具测试结果的统计图表类似于一些较昂贵的商用测试工具。...Jtest   Jtest是Parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。

    1.7K170

    Java基准测试工具JMH使用

    JMH,即Java Microbenchmark Harness,这是专门用于进行代码的微基准测试的一套工具API。...JMH 由 OpenJDK/Oracle 里面那群开发了 Java 编译器的大牛们所开发 。何谓 Micro Benchmark 呢?...本文主要介绍了性能基准测试工具 JMH,它可以通过一些功能来规避由 JVM 中的 JIT 或者其他优化对性能测试造成的影响。 Java的基准测试需要注意的几个点: 测试前需要预热。...防止无用代码进入测试方法中 并发测试 测试结果呈现 ,如果我们要通过JMH进行基准测试的话,直接在我们的pom文件中引入JMH的依赖即可: dependencies {...如果 fork 数是 2 的话,则 JMH 会 fork 出两个进程来进行测试。 @Threads: 每个测试进程的测试线程数量。 @OutputTimeUnit: 测试结果的时间单位。

    54010

    使用自己的工具进行Java性能测试

    摘要: 性能测试是批准任何软件产品出厂之前要执行的重要过程。您可能已经听过高级同事的一些恐怖故事,这些故事是关于系统出厂时没有任何性能测试的。因此,现在,这是测试的必要部分。...有多种工具可用于实现非GUI中间件系统的性能测试,但是有时候我们没有自由选择现有的一组性能测试工具。 性能测试是批准任何软件产品出厂之前要执行的重要过程。...有多种工具可用于实现非GUI中间件系统的性能测试,但有时我们没有自由选择现有的一组性能测试工具。 性能测试是批准任何软件产品出厂之前要执行的重要过程。...有多种工具可用于实现非GUI中间件系统的性能测试,但有时我们没有自由选择现有的一组性能测试工具。 为什么不选择现有工具? 以下是一些原因使我们无法选择市场上已有的工具。...此外,Java有足够的工具,例如Flight Recorder,GC日志,Jstack和Jconsole,因此我们可以利用这些现有工具来补充我们自己的性能工具

    80210

    Java单元测试Mock工具Mockito介绍

    一、什么是Mock&为什么要Mock Mock就是在测试过程中对于那些不容易构建的依赖进行模拟,以保证系统的测试流程可以正常运行,即生成一个和实际使用场景不一样的对象; 为什么需要Mock呢?...1、在测试环境中构建一些依赖的成本比较高 如一些硬件的操作,像串口和USB输入; 还有一些第三方依赖,像支付系统要调用很多外部支付网关,如果直接调用生产环境的网关就会产生脏数据的问题;...2、分而测之 以上面的例子来说,生产环境中就是要从硬件输入,那这块是不是不测试呢?...肯定是要测试的,不过分开来测,一部分测试软件上的流程,即从硬件输入后系统的处理流程是否正常,在一些异常下数据是否准确;而硬件输入的测试可以由单独的团队测试,这样就可以并行测试提高效率。...二、Mockito介绍 Mockito是一款优秀的Mock工具,以下是其相关的介绍: Mockito源码: https://github.com/mockito/mockito Mockito2.x

    3.3K40

    12款最常用的Java测试工具

    Parasoft Jtest Jtest是Parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。...JProfiler JProfiler是一个全功能的Java剖析工具(profiler),主要用于检查和跟踪系统(限于Java开发的)的性能的工具。...测试Java程序的覆盖率工具,支持J2ME, J2SE, and J2EE。...JCover Java代码覆盖率测试工具。 JMeter 开源的Java桌面应用程序,旨在加载测试功能行为和衡量绩效。 JStyle Java源代码分析器。...HttpUnit HttpUnit是一个开源的测试工具,是基于JUnit的一个测试框架,主要关注于测试Web应用,解决使用JUnit框架无法对远程Web内容进行测试的弊端。

    3.5K20

    走进Java接口测试工具类库 Hutool

    走进Java接口测试工具类库 Hutool 一、背景 在 GitHub 上见到过很多开源的自动化框架内都自带了很多 Util 工具类,我们自己在开发自动化框架也必然需要用到工具类库,那么这样就会带来一些问题...当然有,今天我们来介绍一下工具类库—Hutool 二、Hutool 简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅...,让Java语言也可以“甜甜的”。...Hutool中的工具方法来自于每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;Hutool是项目中“util”包友好的替代,... 17、其他工具类 Hutool中的工具类很多,可以参考:https://www.hutool.cn/ 小结 测试开发过程中要善于半开源

    2.9K00

    我的小工具java版串口读写卡测试工具

    业余时间,搞了个读写卡测试工具, 通过串口操作读卡器。我把车载机改造为串口的读卡器,配合这个工具就可以使用了。如果有网友想使用这个工具,得自己 做个下位机读卡器了。...可在我的资源中下载使用(通过工具打包成exe了,若运行不起来注意java的环境配置)。我的qq534117529 先附个截图: ?...import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.IOException;...import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import java.util.TooManyListenersException...public class DSerialPort implements Runnable, SerialPortEventListener { private String appName = "串口通讯测试

    1.2K20
    领券