Apache Log4j2 远程代码执行高危漏洞 测试方法

 

只要执行下面的main方法,查看日志打印结果,即可确定是否存在该漏洞:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Test {

   private final static Logger log = LoggerFactory.getLogger(Test.class);

   public static void main(String[] args) {
      String username = "/\\${java:os}";
      log.error("username: {}", username);
   }
}

日志打印结果如下所示,说明不存在该漏洞(并没有执行命令获取系统信息):

4 [main] ERROR com.xx.xx.xx.Test - username: /\${java:os}

日志打印结果如下所示,说明存在该漏洞(执行了命令)

14:45:07.384 [main] ERROR com.xx.xx.xx.Test - username: /\Windows 10 10.0, architecture: amd64-64

不同的命令会有不同的效果,恶意命令会造成非常恶劣的影响。

以上测试方法仅作为测试使用,切勿使用该方法和漏洞破坏计算机信息系统或在生产环境使用。


已有 0 条评论

    欢迎您,新朋友,感谢参与互动!