
كشف وإصلاح ثغرة log4j log4shell (CVE-2021-44228)
تم تصميم هذه الأداة لاكتشاف وإصلاح ثغرة log4j log4shell (CVE-2021-44228) من خلال البحث عن فئة JndiLookup وإزالتها من ملفات .jar/.war/.ear بدون أي تبعيات وبدون مقابل. تم اختبار هذه الأداة على: - لينكس 32 بت و64 بت - ويندوز 32 بت و64 بت - OpenBSD 64 بت
هذه الأداة مكتوبة بلغة البرمجة Go، مما يعني عدم وجود أي تبعيات وملفات تنفيذية مستقلة تعمل في كل مكان.
قم بتنزيل الملفات التنفيذية (Windows, Linux, Darwin, OpenBSD) من هنا https://github.com/nanitor/log4fix/releases/tag/v4.2.0
فحص ملف بحثًا عن الثغرات
log4fix detect </path/to/file.war>
فحص ملف بحثًا عن الثغرات وإزالة الفئة المعرضة للخطر.
log4fix fix </path/to/file.war> --overwrite
فحص مجلد واحد بحثًا عن الثغرات.
log4fix scan </path/to/dir>
فحص مجلدات متعددة بحثًا عن الثغرات.
log4fix scan </path/to/dir/1> </path/to/dir/2>
فحص مجلد بحثًا عن الثغرات وإزالة الملفات المعرضة للخطر. لاحظ أن هذا الأمر يستبدل ملفات war/ear/jar التي تحتوي على الفئة المعرضة للخطر التي يتم العثور عليها.
log4fix scan </path/to/dir> --fix
فحص مجلد بحثًا عن الثغرات وكتابة ملفات jar/ear/war المعرضة للخطر التي تم العثور عليها إلى الملف المقدم.
log4fix scan </path/to/dir> --output </path/to/text/file.txt>
نوصي بأخذ نسخة احتياطية من الملفات قبل استبدالها. على ويندوز، قد يكون من الضروري إيقاف الخدمة قبل تطبيق الإصلاح. بمجرد تطبيق الإصلاح، يجب إعادة تشغيل الخدمة.
go build
هذا يعادل وظيفيًا الإصلاح الموصى به التالي:
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
إلا أنه يمكنه أيضًا الدخول إلى ملفات .jar/.war/.ear أخرى والبحث عن ملف log4j-core-*.jar بداخلها وإزالة فئة JndiLookup منها.
وبالطبع يعمل على جميع المنصات.