
वर्तमान classpath में log4j की पहचान करने के लिए एक Java हेल्पर
वर्तमान में चल रहे JVM में log4j खोजने के लिए एक उपयोगिता (CVE-2021-44228 (Log4Shell))।
यह उन सिस्टमों के लिए उपयोगी है जो प्लगइन्स को अपनी स्वयं की jars लाने की अनुमति देते हैं। इसलिए, आप पता लगा सकते हैं कि क्या किसी ने log4j को खतरनाक संस्करण में लाया है।
बस अपने इच्छित क्लास लोडर के साथ Log4jRecognizer को इंस्टैंशिएट करें और इसकी
विधियों का उपयोग करें, उदाहरण के लिए:
import com.github.scitotec.log4jrecognizer.Log4jRecognizer;
public class Main {
public static void main(String[] args) {
var rec = new Log4jRecognizer(Main.class.getClassLoader());
System.out.println(rec.hasVersion1());
System.out.println(rec.hasVersion2());
System.out.println(rec.version());
}
}
log4j-recognizer को एक निर्भरता (dependency) के रूप में घोषित करें। यह आपके बिल्ड टूल के आधार पर भिन्न होता है।
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.scitotec</groupId>
<artifactId>log4j-recognizer</artifactId>
<version>1.0.2</version>
</dependency>
</dependencies>
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.scitotec:log4j-recognizer:1.0.2'
}