
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 possible dans l'application Struts Showcase dans l'exemple du plugin Struts 1 de la série Struts 2.3.x
Qui doit lire ceci Tous les développeurs et utilisateurs de Struts 2 doivent lire ceci
Impact de la vulnérabilité RCE possible lors de l'utilisation du plugin Struts 1 de Struts 2
Note de sécurité maximale Élevée
Recommandation Veuillez lire la section Solution
Logiciels concernés Struts 2.3.x avec le plugin Struts 1 et l'action Struts 1
Signaleur icez de Tophant Competence Center
Identifiant CVE CVE-2017-9791
Il est possible d'effectuer une attaque RCE avec une valeur de champ malveillante lors de l'utilisation du plugin Struts 1 de Struts 2 et d'une action Struts 1, lorsque la valeur fait partie d'un message présenté à l'utilisateur, c'est-à-dire lors de l'utilisation d'une entrée non fiable comme partie du message d'erreur dans la classe ActionMessage.
Utilisez toujours des clés de ressources au lieu de passer un message brut à ActionMessage comme indiqué ci-dessous, ne transmettez jamais une valeur brute directement
messages.add("msg", new ActionMessage("struts1.gangsterAdded", gform.getName()));
et jamais comme ceci
messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " was added"));
Aucun problème de rétro-incompatibilité n'est attendu.