
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

Mögliche RCE in der Struts-Showcase-App im Struts-1-Plugin-Beispiel der Struts-2.3.x-Serie
Wer sollte dies lesen Alle Struts-2-Entwickler und -Benutzer sollten dies lesen
Auswirkung der Schwachstelle Mögliche RCE bei Verwendung des Struts-2-Struts-1-Plugins
Maximale Sicherheitsbewertung Hoch
Empfehlung Bitte lesen Sie den Abschnitt „Lösung“
Betroffene Software Struts 2.3.x mit Struts-1-Plugin und Struts-1-Action
Melder icez von Tophant Competence Center
CVE-Kennung CVE-2017-9791
Beim Einsatz des Struts-2-Struts-1-Plugins und einer Struts-1-Action ist es möglich, einen RCE-Angriff mit einem bösartigen Feldwert durchzuführen, wenn der Wert Teil einer dem Benutzer angezeigten Nachricht ist, d. h. wenn nicht vertrauenswürdige Eingaben als Teil der Fehlermeldung in der Klasse ActionMessage verwendet werden.
Verwenden Sie immer Ressourcenschlüssel, anstatt eine rohe Nachricht an die ActionMessage zu übergeben, wie unten gezeigt. Übergeben Sie niemals einen rohen Wert direkt:
messages.add("msg", new ActionMessage("struts1.gangsterAdded", gform.getName()));
und niemals so:
messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " was added"));
Es sind keine Abwärtskompatibilitätsprobleme zu erwarten.