
تطبيق Java معرّض لثغرة CVE-2021-44228 (المعروفة أيضًا باسم log4shell)
هذا التطبيق التجريبي معرّض لثغرة CVE-2021-44228، المعروفة أيضًا باسم Log4Shell. على سبيل المثال، يمكن استخدامه للتحقق من صحة سكربت كشف أو إصلاح.
قم ببناء التطبيق:
mvn clean package
أو بدلاً من ذلك، قم بتنزيل JAR المُجمّع مسبقًا.
قم بتشغيل التطبيق (في المجلد الفرعي target إذا قمت ببنائه محليًا):
java -Dlog4shell.all -jar log4shell-honeypot-capsule.jar
التطبيق ليس معرّضًا للثغرة افتراضيًا. تحتاج إلى تعيين خاصية النظام
log4shell.allلتفعيل الثغرات (أو يمكنك استخدام خيارات خاصة بثغرات محددة، انظر أدناه).
log4shell.userAgent لتسجيل ترويسة HTTP .User-Agentlog4shell.authorization لتسجيل ترويسة HTTP Authorization.log4shell.basicAuth لتسجيل زوج المستخدم/كلمة المرور المُفكوك من المصادقة الأساسية.log4shell.urlPath لتسجيل مسار URL.log4shell.urlQuery لتسجيل سلسلة استعلام URL.log4shell.all لتسجيل جميع ما سبق.قيمة خاصية فارغة كافية.
لتفعيل المصادقة الأساسية على التطبيق، قم بتفعيل ملف التعريف basicAuth:
java -Dseedstack.profiles=basicAuth -Dlog4shell.all -jar target/log4shell-honeypot-capsule.jar
demodemoعند تفعيل المصادقة الأساسية، لا يمكن أن يكون التطبيق معرّضًا لثغرة حقن المستخدم/كلمة المرور.
قم بإجراء طلب GET أو POST على أي مسار مع حمولة خبيثة موضوعة وفقًا للخيارات أعلاه:
مثال مع ترويسة User-agent:
curl http://localhost:8080 -A "<malicious-user-agent>"
سيصدر التطبيق استجابة 302 إلى /test الذي يحتوي على الثغرة.