
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

Possibile RCE nell'app Struts Showcase nell'esempio del plugin Struts 1 nella serie Struts 2.3.x
Chi dovrebbe leggere questo Tutti gli sviluppatori e gli utenti di Struts 2 dovrebbero leggere questo documento
Impatto della vulnerabilità Possibile RCE quando si utilizza il plugin Struts 1 di Struts 2
Valutazione massima di sicurezza Alta
Raccomandazione Leggere la sezione Soluzione
Software interessato Struts 2.3.x con plugin Struts 1 e azione Struts 1
Segnalatore icez del Tophant Competence Center
Identificatore CVE CVE-2017-9791
È possibile eseguire un attacco RCE con un valore di campo dannoso quando si utilizza il plugin Struts 1 di Struts 2, quando si tratta di un'azione Struts 1 e il valore fa parte di un messaggio presentato all'utente, ad esempio quando si utilizza un input non attendibile come parte del messaggio di errore nella classe ActionMessage.
Utilizzare sempre chiavi di risorsa invece di passare un messaggio grezzo ad ActionMessage come mostrato di seguito; non passare mai un valore grezzo direttamente
messages.add("msg", new ActionMessage("struts1.gangsterAdded", gform.getName()));
e mai in questo modo
messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " was added"));
Non sono previsti problemi di incompatibilità con le versioni precedenti.