首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Gamma安全实验室

    Xalan链+fastjson Rce分析

    链 而Xalan链 最底层的原理就是,在TemplatesImpl类的defineTransletClasses方法中,存在对defineClass方法的调用,我们不妨跟进一下TemplatesImpl 利用就是把这个类的set方法,get方法加上恶意代码就行了,但是正常的代码不太可能有这么爽的类,所以存在利用链这一说法,这里看一下Xalan链和fastjson反序列化联动的情况 前面分析了Xalan链 {"@type":"com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl","_bytecodes":"1111","_outputProperties 从前面我们跟的时候可以看到,fastjson调用setter方法的时候会把key对应的value值传入进去作为参数,所以这里爆类型不匹配,那么直接传入一个对象就可以了 总结以上遇到的坑 fastjson 利用Xalan _bytecodes[]中加载的类需为AbstractTranslet的子类 ‍ payload: {"@type":"com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl

    57310编辑于 2023-12-18
  • 来自专栏程序员阿常

    jmeter+ant+jenkins 接口自动化测试持续集成(送源码)

    -- Use xalan copy from JMeter lib directory to ensure consistent processing with Java 1.4+ --> <path id="xslt.classpath"> <fileset dir="${lib.dir}" includes="<em>xalan</em>*.jar"/> <fileset dir="${lib.dir}" includes -- Check that the xalan libraries are present --> <condition property="<em>xalan</em>.present"> <and> <! " unless="<em>xalan</em>.present"> <echo>Cannot find all xalan and/or serialiser jars</echo> <echo>The XSLT </echo> <echo>Check you have xalan and serializer jars in ${lib.dir}</echo> </target> </project> 9.4

    1.4K10编辑于 2022-09-01
  • 来自专栏测试开发社区

    jmeter+ant+jenkins 接口自动化测试持续集成(送源码)

    -- Use xalan copy from JMeter lib directory to ensure consistent processing with Java 1.4+ --> <path id="xslt.classpath"> <fileset dir="${lib.dir}" includes="<em>xalan</em>*.jar"/> <fileset dir="${lib.dir}" includes -- Check that the xalan libraries are present --> <condition property="<em>xalan</em>.present"> <and> <! " unless="<em>xalan</em>.present"> <echo>Cannot find all xalan and/or serialiser jars</echo> <echo>The XSLT </echo> <echo>Check you have xalan and serializer jars in ${lib.dir}</echo> </target> </project> 9.4

    1.2K10发布于 2019-11-20
  • 来自专栏yulate的网络安全技术分析

    CommonsCollections3 反序列化链分析

    二、利用链分析 这部分和CC2中的差不多,将恶意字节流注入到org.apache.xalan.xsltc.trax.TemplateImpl中的_bytecodes属性,等待调用TemplatesImpl import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl "; String TemplatesImpl = "com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl"; import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl; import com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import javassist.ClassPool

    34970编辑于 2023-05-02
  • 来自专栏h0cksr的小屋

    java反序列化(五)CommonsCollections篇 — CC3

    "; 因此我们执行代码的动态加载类声明从com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet继承而来即可 //所以要满足条件三 ; import com.sun.org.apache.xalan.internal.xsltc.TransletException; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import org.apache.commons.collections.Transformer ; import com.sun.org.apache.xalan.internal.xsltc.TransletException; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet ; import com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl

    50130编辑于 2023-05-17
  • 来自专栏橙子探索测试

    【Jmeter篇】jmeter+Ant+Jenkins接口自动化测试集成(一)

    -- Use xalan copy from JMeter lib directory to ensure consistent processing with Java 1.4+ --> <path id="xslt.classpath"> <fileset dir="${lib.dir}" includes="<em>xalan</em>*.jar"/> <fileset dir= -- Check that the xalan libraries are present --> <condition property="<em>xalan</em>.present"> " unless="xalan.present"> <echo>Cannot find all xalan and/or serialiser jars</echo> </echo> <echo>Check you have xalan and serializer jars in ${lib.dir}</echo> </target>

    6.5K10发布于 2019-10-25
  • 来自专栏红队蓝军

    Java安全之Commons Collections1-3分析

    ClassPool classPool=ClassPool.getDefault(); String AbstractTranslet="com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet > aClass = Class.forName("com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl"); Constructor oos.close(); } } [1.png] [2.png] [3.png] [4.png] [5.png] CC3分析 import com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter ClassPool classPool=ClassPool.getDefault(); String AbstractTranslet="com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet payload.toBytecode(); //反射创建TemplatesImpl类 String TemplatesImpl="com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl

    49630编辑于 2022-03-11
  • 来自专栏狼组安全团队

    fastjson 不出网利用总结

    0x00  利用方式 目前公开已知的poc有两个: com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl org.apache.tomcat.dbcp.dbcp2 • fastjson 1.2.45 • 代码参考 vulhub • 服务器:Windows Server 2012 r2 • jdk版本:jdk8u112 1. com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl 首先需要准备一个Poc: import com.sun.org.apache.xalan.internal.xsltc.DOM;import com.sun.org.apache.xalan.internal.xsltc.TransletException ;import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet;import com.sun.org.apache.xml.internal.dtm.DTMAxisIterator " }, "b": { "@type": "com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl",

    12.3K10发布于 2021-02-04
  • 来自专栏用户7614879的专栏

    使用poi-tl写word文档时WARN org.apache.poi.util.XMLHelper.logThrowable:307 - SAX Feature unsupported

    Not supported: http://javax.xml.XMLConstants/property/accessExternalStylesheet at org.apache.xalan.processor.TransformerFactoryImpl.setAttribute artifactId> <version>1.11.1</version> <exclusions> <exclusion> <artifactId>xalan </artifactId> <groupId>xalan</groupId> </exclusion> </exclusions> </dependency > 排除掉xalan后,这个异常不再出现。

    2.4K30编辑于 2022-05-11
  • 来自专栏FreeBuf

    commons-beanutils 的三种利用原理构造与POC

    package pers.cb; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet; import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl ) newTransformer:486, TemplatesImpl (com.sun.org.apache.xalan.internal.xsltc.trax) getOutputProperties :507, TemplatesImpl (com.sun.org.apache.xalan.internal.xsltc.trax) invoke0:-1, NativeMethodAccessorImpl package pers.cb; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet; import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl package pers.cb; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet; import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl

    1.3K30编辑于 2022-11-14
  • 来自专栏红队蓝军

    fastjson从0到1

    ClassPool classPool=ClassPool.getDefault(); String AbstractTranslet="com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet yyds.newInstance(); } } [8.png] 2.利用TemplatesImpl加载字节码 package com.naihe; import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import javassist.ClassPool ClassPool classPool=ClassPool.getDefault(); String AbstractTranslet="com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet getEncoder().encodeToString(payload.toBytecode()); String text = "{\"@type\":\"com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl

    55430编辑于 2022-03-16
  • 来自专栏黑白天安全团队

    JavaWeb 内存马技术归纳

    "), Class.forName("org.apache.xalan.xsltc.trax.TransformerFactoryImpl")); } return ; import com.sun.org.apache.xalan.internal.xsltc.TransletException; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet ; import com.sun.org.apache.xalan.internal.xsltc.TransletException; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet ; import com.sun.org.apache.xalan.internal.xsltc.TransletException; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet ; import com.sun.org.apache.xalan.internal.xsltc.TransletException; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet

    2.5K40编辑于 2022-02-24
  • 来自专栏红队蓝军

    fastjson从0到1

    ClassPool classPool=ClassPool.getDefault(); String AbstractTranslet="com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet yyds.newInstance(); } } 利用TemplatesImpl加载字节码 package com.naihe; import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import javassist.ClassPool ClassPool classPool=ClassPool.getDefault(); String AbstractTranslet="com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet getEncoder().encodeToString(payload.toBytecode()); String text = "{\"@type\":\"com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl

    58610编辑于 2022-05-17
  • 来自专栏Khan安全团队

    CVE-2020-35728 - RCE FasterXML POC

    2.9.10.8之前的FasterXML jackson-databind 2.x对序列化小工具和打字之间的交互处理不当,与com.oracle.wls.shaded.org.apache.xalan.lib.sql.JNDIConnectionPool (也就是org.glassfish.web/javax.servlet.jsp.jstl中的嵌入式Xalan)有关。 main(String[] args) throws Exception { String payload = "[\"com.oracle.wls.shaded.org.apache.xalan.lib.sql.JNDIConnectionPool

    2.8K10发布于 2021-01-11
  • 来自专栏离别歌 - 信息安全与代码审计

    BCEL ClassLoader去哪了

    准确的来说,Java XML功能包含了JAXP规范,而Java中自带的JAXP实现使用了Apache Xerces和Apache Xalan,Apache Xalan又依赖了BCEL,所以BCEL也被放入了标准库中 Apache Xalan实现了其中XSLT相关的部分,其中包括xsltc compiler。 我们在反序列化时常用的另一个类com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl,它在defineClass中需要的字节码所对应的基类, 就是这里的com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet。 你应该也能猜到了,因为需要“编译”XSL文件,实际上核心是动态生成Java字节码,而BCEL正是一个处理字节码的库,所以Apache Xalan是依赖BCEL的。

    5.2K30发布于 2020-10-27
  • 来自专栏黑伞安全

    Adobe ColdFusion 反序列化漏洞复现踩坑

    2f73 756e 2f6f 7267 2f61 r(Lcom/sun/org/a 00000390: 7061 6368 652f 7861 6c61 6e2f 696e 7465 pache/xalan (Lcom/sun/org/a 000004a0: 7061 6368 652f 7861 6c61 6e2f 696e 7465 pache/xalan/inte 000004b0: 726e 616c @com/sun/org 00000630: 2f61 7061 6368 652f 7861 6c61 6e2f 696e /apache/xalan/in 00000640: 7465 726e /internal/xsltc/runtime/AbstractTransletjava/io/Serializable9com/sun/org/apache/xalan/internal/xsltc/ /internal/xsltc/runtime/AbstractTransletjava/io/Serializable9com/sun/org/apache/xalan/internal/xsltc/

    2.6K30发布于 2021-10-14
  • 来自专栏h0cksr的小屋

    Java反序列化(七) | CommonsCollectionsShiro

    ----CC3----------------------------------- java.lang.reflect.Method.invoke com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer /Evil.java 构造恶意类Evil然后使使CC6动态加载字节码执行静态代码和构造函数 package POC_macker.CCShiro; import com.sun.org.apache.xalan.internal.xsltc.DOM ; import com.sun.org.apache.xalan.internal.xsltc.TransletException; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import org.apache.commons.collections.Transformer " java.lang.reflect.Method.invoke\n" + " com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer

    77920编辑于 2023-05-17
  • 来自专栏h0cksr的小屋

    Java反序列化(九) | CommonsBeanutils

    com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer 准备 为了方便后面的每一步的代码可以让读者单独运行同时为了避免代码段重复太多我这里先给出全部的依赖和通过反射设置变量参数的函数 ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import javassist.ClassPool POC_macker/CommonsBeanutils/Evil.java package POC_macker.CommonsBeanutils; import com.sun.org.apache.xalan.internal.xsltc.DOM ; import com.sun.org.apache.xalan.internal.xsltc.TransletException; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import javassist.ClassPool

    59680编辑于 2023-05-17
  • 来自专栏我的网安魔法之旅

    Java安全之CommonsCollections3链

    ; import com.sun.org.apache.xalan.internal.xsltc.TransletException; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import java.lang.reflect.Field ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import org.apache.commons.collections.Transformer ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import org.apache.commons.collections.Transformer ; import com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl

    60040编辑于 2023-05-16
  • 来自专栏Naraku的专栏

    Java安全-反序列化-5-CC3

    com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl这个类定义了一个内部类TransletClassLoader。 throw new NotSerializableException( "com.sun.org.apache.xalan.internal.xsltc.runtime.Hashtable" ; import com.sun.org.apache.xalan.internal.xsltc.TransletException; import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet ; import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl; import java.lang.reflect.Field 构造POC 模仿CC1,通过LazyMap和Proxy触发漏洞,需Java 8u71以下 import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl

    58550编辑于 2022-04-26
领券