如何在 Windows 10 PC 上找到易受攻擊的 log4j 程式,以及當我無法更新到 log4j 2.16.0 及更高版本時如何提供急救?
uj5u.com熱心網友回復:
可以從log4j 核心jar 檔案中洗掉 JndiLookup 類,以便在 log4j 安全災難的背景關系中提供急救。 如果您無法將 Java 應用程式更新到具有固定 log4j 版本 2.16.0 的版本,請洗掉 JndiLookup 類。
所以這只是一個急救快速修復,直到您獲得應用程式更新!以下 PowerShell 腳本將在所有驅動器中搜索 log4j-core*.jar 檔案。在任何找到的一個中,我們將從其中洗掉 JndiLookup 類。
因此,創建一個包含以下內容的anyname.ps1檔案:
# Ensure we can run everything
Set-ExecutionPolicy Bypass -Scope Process -Force
# Escape characters in PowerShell: https://ss64.com/ps/syntax-esc.html
Write-Host "Start iterating drives..."
$volumes = Get-WmiObject win32_volume -filter "drivetype=3"
foreach ($volume in $volumes)
{
$driveletter = $volume.driveletter # e.g. C:
if ($driveletter -ne $null)
{
$drivename = $volume.name # e.g. C:\
Write-Host "`n== Checking $driveletter... =="
Write-Host "== Find log4j-core*.jar files... =="
Get-ChildItem -Path $drivename -Filter log4j-core*.jar -Recurse -ErrorAction SilentlyContinue | % {
Write-Host "== $($_.FullName) =="
Write-Host "> zip.exe -q -d `"$($_.FullName)`" `"org/apache/logging/log4j/core/lookup/JndiLookup.class`""
zip.exe -q -d "$($_.FullName)" "org/apache/logging/log4j/core/lookup/JndiLookup.class"
Write-Host "> unzip.exe -l `"$($_.FullName)`" | grep.exe JndiLookup"
unzip.exe -l "$($_.FullName)" | grep.exe JndiLookup
Write-Host "== END =="
}
}
}
Write-Host "Press ENTER to continue..."
cmd /c Pause | Out-Null
現在你可以執行這個 ps1 檔案了。
執行ps1檔案的簡單方法:除了同名的ps1檔案外,創建一個anyname.cmd檔案,內容如下:
powershell.exe -ExecutionPolicy ByPass -noprofile -command "&{start-process powershell -ArgumentList '-ExecutionPolicy ByPass -noprofile -NoExit -file \"%~dpn0.ps1\"' -verb RunAs}"
您可以雙擊cmd。它將以提升的權限執行 ps1 腳本。
親切的問候!
uj5u.com熱心網友回復:
我在另一個答案中提供了急救 PowerShell 腳本,但是,同時有幾個高級工具允許在 CVE-2021-44228 的背景關系中檢測和修補基于 log4j 的應用程式,以防您無法升級應用程式和它捆綁的 log4j,但是。
https://github.com/mergebase/log4j-detector
log4j-detector是一個基于 Java 的工具,用于搜索易受攻擊的 log4j 實體。它在“Java über JARs”以及 otehr JARs/WARs、檔案系統上的未壓縮目錄(又名 *.class)和陰影 jars 中檢測 log4j。它提供有關找到的 log4j 版本的資訊。(它不提供修補程式來修復發現的問題。)但這似乎是最徹底的檢測。
https://github.com/hillu/local-log4j-vuln-scanner
log4j-vuln-scanner是一個基于 Go 的工具,具有適用于 x86_64 Windows、Linux、MacOSX 的二進制版本,用于搜索易受攻擊的 log4j 實體。它也在其他 JAR 和 WAR 檔案中找到 log4j,并提供有關找到的 log4j 版本的資訊。(它似乎不像上面的 log4j-detector 那樣徹底。)但這提供了一個修補程式來修復發現。
https://github.com/Neo23x0/log4shell-detector
log4shell-detector是一個基于 python 的工具,用于搜索日志檔案,并從日志字串中嘗試檢測任何利用嘗試。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/381653.html
下一篇:CodeQL掃描JAR檔案
