| JAVA内存马 | Servlet-api Valve Spring Controller Interpretor |
| Weblogic反序列化 | T3协议 |
| JAVA反序列化 | 静态代码块 实例代码块 构造方法 |
| FastJSON反序列化 | 反序列化过程中setter会被自动调用,而在parseObject方发生getter方法也会被调用,fastjson又提供了autoType功能用以指定要发序列化的具体类,从而导致了漏洞的发生,典型的利用链为 JdbcRowImpl TemplateImpl,最新的1.2.80绕过,利用的是expactClass=Thrownable.class,找到Thrownable的子类就可以完美染过autotypeSupport判断,我们还可以通过AutoCloseable类完成绕过,该类本身在白名单中,在反序列化过程中会在getSeeAll方法是执行失败,从而继续扫描然后会将第二个@type的类作为目标类,如果这个类继承了AutoCloseable类,那么就可以绕过自动类型开启的判断,那么问题就是找到一个内置的实现了该类的子类且有危险的方法被执行 |
| Log4J2漏洞原理 | 递归解析用来绕WAF log4j2默认开启了lookup支持,那么就会调用MessagePatternConverter去解析从配置文件、options、message中传入的参数,如果遇到了${就会去找}如果找到了就会将中间的内容通过StrSubstitutor进行解析,在解析时会通过冒号分割这部分内容,通过冒号前面的内容映射对应的处理逻辑,这部分其实是通过org.apache.logging.log4j.core.lookup.Interpolator作为代理类通过传入不同的参数调用不同的方法来实现不同的处理逻辑,而JNID恰巧就被提供了支持,也就导致了漏洞的发生 |
| Spring Bean RCE漏洞原理 | 参数映射,主要在进行参数映射的时候会调用的对应的setter方法为进行参数绑定,而在JAVA的Objects方法中存在一个特殊的getClass方法用来获取当前类的Class实例,那么我们就可以通国传入Class=xxx的方式为Class实例赋值,而通过Class实例又可以获得类加载器ClassLoader,在类加载器中又有一个URLS属性所以就有了Class.Classloader.URLs[0],这是老的版本的漏洞成因,最新的绕过是在JDK9中Class中提供了Module属性可以用来获取到类加载器从而导致了漏洞的发生 |
| JAVA assait与ASM的区别 | ClassPool ClassVisitor ClassReader ClassWriter |
| JAVA Agent | premain agentman Instrumentation ClassFileTransformer |
| JAVA动态代理 | getProxyClass0—valueFactory.apply–generateClassFile—defineClass0 |
| JAVA XXE漏洞 | XMLReader等 |
| JNDI注入原理 | lookup参数可控 |
| 高版本JDK如何进行JNDI注入 | Tomcat BeanFactory |
| JEP290了解吗 | 类黑名单 内置、自定义安全策略 |
| 讲讲Hadoop | hdfs MapReduce HBase namenode datanode client ResourceManager |
| go会吗 | |
| Shiro反序列化 | AES秘钥硬编码, CBC填充提示攻击 |
| Shiro设计模式 | 单例模式SecurityManager 简单工厂模式 |
| Shiro未授权访问 | 有一个未授权的拦截器 |
| 有没有在原有漏洞基础上延伸 | 完成了fastjson最新rce漏洞的分析 |
| 如何防御JAVA反序列化 | 重写类加载器、重写readObject方法。。。JEP290 |
| 内网不出网 | |
| Ms068原理 | |