
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 Competence Center
Идентификатор CVE CVE-2017-9791
При использовании плагина Struts 1 для Struts 2 и действия Struts 1 возможна атака RCE с вредоносным значением поля, если это значение является частью сообщения, отображаемого пользователю, то есть при использовании недоверенного ввода как части сообщения об ошибке в классе ActionMessage.
Всегда используйте ключи ресурсов вместо передачи необработанного сообщения в ActionMessage, как показано ниже; никогда не передавайте необработанное значение напрямую
messages.add("msg", new ActionMessage("struts1.gangsterAdded", gform.getName()));
и никогда так
messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " was added"));
Проблем с обратной совместимостью не ожидается.