App下載

log4j爆致命漏洞,正在學(xué)習(xí)java的你中招了嘛?

steven 2021-12-13 17:03:08 瀏覽數(shù) (2361)
反饋

最近一段時間小編朋友圈的java程序員都在熬夜應(yīng)急。2021年11月24日,阿里云安全團隊向Apache官方報告了Apache Log4j2遠程代碼執(zhí)行漏洞。該漏洞在12月9號開始大規(guī)模爆發(fā),十號的時候已經(jīng)有許多程序員連夜修復(fù)漏洞了,那么log4j是個什么東西呢?出現(xiàn)了這個漏洞還能使用嗎?請繼續(xù)閱讀該文章了解相關(guān)信息。

什么是日志?

我們在學(xué)習(xí)編程的時候,會打開debug模式進行代碼調(diào)試,我們可以看到代碼中各個變量的狀態(tài)。但在實際生產(chǎn)中是沒有debug模式的,我們只能使用輸出這個變量的方式進行判斷。小編剛開始不會使用debug模式就是使用這樣的方式進行代碼狀態(tài)的判斷:即使用print語句把變量輸出出來。對于服務(wù)器而言,這樣的方法不現(xiàn)實(總不能派個人一直去盯著服務(wù)器吧),更合理的方式是將輸出寫入文本,并帶上寫入時間,這樣每天都能生成一個文件,這就是日志。

什么是日志管理工具?

使用最簡單(思路簡單)的寫文件的方法來寫日志,會有代碼復(fù)雜,日志雜亂,日志等級劃分不清楚的問題,這時候就引入日志管理工具了,很多語言都有日志管理工具,比如JavaScript的console.log()方法,就是一個寫日志的函數(shù)(不過它會在控制臺輸出),java也有一個logging工具用于日志管理。

什么是log4j,為什么要用他?

log4j是一個更優(yōu)秀的日志管理工具,logging的易用性沒有那么好,結(jié)合log4j使用會更加舒適。

哪些項目會用到log4j?

日志管理工具在各個地方都可以用得到,從桌面應(yīng)用程序到web服務(wù)器再到安卓app都可以使用。常見的使用log4j的應(yīng)用如下:大部分springboot的web應(yīng)用、大部分的ssh,ssm框架都會集成log4j(屬于開發(fā)者自行集成,并不是自帶,但很多開發(fā)者都會選擇log4j,這也是這次漏洞為什么會那么嚴(yán)重的原因),桌面應(yīng)用比較出名的像Minecraft也使用了log4j(所以經(jīng)由Minecraft進行攻擊的案例也很多,而且正在飛速上漲)

怎么回避這個bug?

將log4j升級到最新版本。12 月 10 日上午,阿里云安全團隊再次發(fā)出預(yù)警,發(fā)現(xiàn) Apache Log4j 2.15.0-rc1 版本存在漏洞繞過,建議及時更新至 Apache Log4j 2.15.0-rc2 版本。


0 人點贊