JNDI注入-LDAP利用
2023-05-06 17:12:46 0 举报
红色表示存在trustURLCodebase限制,在jdk高版本无法使用。 其余三种颜色分别代表绕过trustURLCodebase限制的三种方式
作者其他创作
大纲/内容
serializeObject
红色代表存在trustURLCodebase限制,无法在jdk高版本使用;其他三种颜色分别代表绕过trustURLCodebase限制的方式;其中绿色仅有两个线条,它后面也是调用com.sun.jndi.ldap.Obj#deserializeObject,与蓝色和浅蓝色类似,只不过需要调用com.sun.jndi.ldap.Obj#decodeReference来触发com.sun.jndi.ldap.Obj#deserializeObject的调用,另外注意此种绕过方式Base64编码在高版本与低Jdk版本不兼容问题->java.util.Base64与sun.misc.BASE64Encoder不兼容
e.addAttribute(\"javaClassName\
com.sun.jndi.ldap.Obj#decodeReference
com.sun.jndi.ldap.Obj#deserializeObject
利用URLClassLoader远程加载class执行恶意代码
javax.naming.spi.DirectoryManager#getObjectInstance
序列化Reference(如ResourceRef)
org.apache.naming.factory.BeanFactory#getObjectInstance
普通的对象序列化数据,如cc链,cb链等
javax.el.ELProcessor#eval 执行恶意代码
readObject 执行恶意代码
ResourceRef ref = new ResourceRef(\"javax.el.ELProcessor\
序列化非Reference
readObject
收藏
0 条评论
下一页