文章预览
jdk21bypass 限制点 对LDAP限制 我们知道打LDAP反序列化无论是远程类加载,还是直接传入序列化的数据或者是打工厂类都是在我们的decodeObject方法 jdk21 static Object decodeObject ( Attributes attrs ) throws NamingException { Attribute attr ; // Get codebase, which is used in all 3 cases. String [] codebases = getCodebases ( attrs . get ( JAVA_ATTRIBUTES [ CODEBASE ])); try { if (( attr = attrs . get ( JAVA_ATTRIBUTES [ SERIALIZED_DATA ])) != null ) { if (! VersionHelper . isSerialDataAllowed ()) { throw new NamingException ( "Object deserialization is not allowed" ); } ClassLoader cl = helper . getURLClassLoader ( codebases ); //打远程类的 return deserializeObject (( byte []) attr . get (), cl ); } else if (( attr = attrs .
………………………………