文章预览
一、前言 我们在实战渗透过程中,尤其是国内,遇到很多Java语言编写的站点居多,同时这里会存在很多Java漏洞场景。 例如在Shiro 550中,以Java反序列化点为漏洞入口起点,使用 CommonsBeanutils 反序列化链,并通过 TemplatesImpl 类去加载任意字节码,这里我们通过字节码可以实现各种操作,例如通过 Sleep 判断漏洞是否存在、通过 Dnslog 判断dns是否出网、通过回显用来辅助判断环境、甚至是注入 Godzilla内存马。 再例如前段时间爆出的帆软的链,也是一个Java反序列化入口点,通过 DruidXADataSource 类去转为 JDBC URL Attack 利用,最常见的JDBC Attack 就是H2 jdbc去执行 js,不过在帆软环境内使用的是 hsqldb 的JDBC 利用,可转为二次反序列化绕黑名单实现RCE。 漏洞场景中不止常规的 Java 反序列化点,还有JNDI注入。众所周知,JNDI的利用可以简单分为三种方式:
………………………………