
http://struts.apache.org/docs/s2-048.html
https://cwiki.apache.org/confluence/display/WW/S2-048
> python St2-048.py
set url : http://xx.xx.xx.xx:port/integration/saveGangster.action
cmd >>: whoami
root
cmd >>: cat /etc/passwd

إمكانية تنفيذ RCE في تطبيق Struts Showcase في مثال المكوّن الإضافي Struts 1 في سلسلة Struts 2.3.x
من يجب أن يقرأ هذا يجب على جميع مطوّري ومستخدمي Struts 2 قراءة هذا
تأثير الثغرة إمكانية تنفيذ RCE عند استخدام المكوّن الإضافي Struts 1 في Struts 2
الحد الأقصى لتصنيف الأمان مرتفع
التوصية يرجى قراءة قسم الحل
البرنامج المتأثر Struts 2.3.x مع المكوّن الإضافي Struts 1 وإجراء Struts 1
المُبلِّغ icez من مركز Tophant للكفاءات
معرّف CVE CVE-2017-9791
من الممكن تنفيذ هجوم RCE بقيمة حقل خبيثة عند استخدام المكوّن الإضافي Struts 1 في Struts 2 مع إجراء Struts 1، وعندما تكون القيمة جزءًا من رسالة معروضة للمستخدم، أي عند استخدام إدخال غير موثوق كجزء من رسالة الخطأ في فئة ActionMessage.
استخدم دائمًا مفاتيح الموارد بدلاً من تمرير رسالة خام إلى ActionMessage كما هو موضح أدناه، ولا تمرر أبدًا قيمة خام مباشرةً
messages.add("msg", new ActionMessage("struts1.gangsterAdded", gform.getName()));
ولا أبدًا بهذه الطريقة
messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " was added"));
لا يُتوقع وجود أي مشاكل في عدم التوافق مع الإصدارات السابقة.