https://blog.sari3l.com/posts/469de5e6/15523811246162.jpg
DirectoryManager.getObjectInstance
JNDI-LDAP
除了RMI服务之外,JNDI也可以与LDAP目录服务进行交互,Java对象在LDAP目录中也有多种存储形式:
- Java序列化
- JNDI Reference
- Marshalled对象
- Remote Location (已弃用)
com.sun.jndi.ldap.LdapCtx#c_lookup
1 | protected Object c_lookup(Name var1, Continuation var2) throws NamingException { |
com.sun.jndi.ldap.Obj#decodeObject
1 | static Object decodeObject(Attributes var0) throws NamingException { |
Reference 调用链
1 | getObjectInstance:20, Exploit |
javaSerializedData 调用链
1 | java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) |