Log4j漏洞原理和修復


https://zhuanlan.zhihu.com/p/443667244 

https://baijiahao.baidu.com/s?id=1719021490573494135&wfr=spider&for=pc 

https://view.inews.qq.com/a/20211210A01JXN00

漏洞原理

官方表述是:Apache Log4j2 中存在JNDI注入漏洞,當程序將用戶輸入的數據進行日志記錄時,即可觸發此漏洞,成功利用此漏洞可以在目標服務器上執行任意代碼。

通俗簡單的說就是:在打印日志的時候,如果你的日志內容中包含關鍵詞 ${,攻擊者就能將關鍵字所包含的內容當作變量來替換成任何攻擊命令,並且執行。

修復:

其實如果你了解了這個原理那么解決方式也就一目了然了,

  • 禁用lookup或JNDI服務

罪魁禍首就是lookup和JNDI,那么直接修改配置文件log4j2.formatMsgNoLookups=True或禁用JNDI服務,不過一般產生問題的服務都是線上已經在跑的服務,禁用的時候要注意評估一下是否允許。

  • 升級Apache Log4j

這次產生的影響范圍主要是在Apache Log4j 2.x <= 2.14.1,所以直接把Log4j升級即可解決。

 
地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
供應鏈影響范圍:
已知受影響應用及組件:
Apache Solr
Apache Flink
Apache Druid
srping-boot-strater-log4j2
不受影響版本:
Apache log4j-2.15.0-rc2
05
人工檢測
1、相關用戶可根據Java jar解壓后是否存在org/apache/logging/log4j相關路徑結構,判斷是否使用了存在漏洞的組件,若存在相關Java程序包,則很可能存在該漏洞。
圖片
 
2、若程序使用Maven打包,查看項目的pom.xml文件中是否存在下圖所示的相關字段,若版本號為小於2.15.0,則存在該漏洞。
圖片
 
06


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM