欢迎来到天天文库
浏览记录
ID:19989306
大小:102.35 KB
页数:3页
时间:2018-10-07
《出现漏洞以后的处理方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Struts2S2-045Jakarta插件远程代码执行漏洞加固方法近日,安恒信息安全研究院WEBIN实验室高级安全研究员nike.zheng发现著名J2EE框架-Struts2存在远程代码执行的严重漏洞。漏洞编号:S2-045,CVE-2017-5638漏洞名称:基于Jakartaplugin插件的Struts远程代码执行漏洞官方评级:高危漏洞描述:ApacheStruts2被曝出存在远程命令执行漏洞,漏洞编号S2-045,CVE编号CVE-2017-5638,在使用基于Jakarta插件的文件上传功能时,有可能存在远程命令执行,导致系统被黑客入侵。恶意用户可在上传文件时通过修改HT
2、TP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。漏洞利用条件和方式:黑客通过Jakarta文件上传插件实现远程利用该漏洞执行代码。1.基于Jakarta(JakartaMultipartparser)插件的文件上传功能2.恶意攻击者精心构造Content-Type的值漏洞影响范围:Struts2.3.5–Struts2.3.31Struts2.5–Struts2.5.10加固方式如下:通过判断Content-Type头是否为白名单类型,来限制非法Content-Type的攻击。加固代码:importjava.io.IOException;importjavax.
3、servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.Ht
4、tpServletResponse;publicclassSecurityFilterextendsHttpServletimplementsFilter{/****/privatestaticfinallongserialVersionUID=1L;publicfinalStringwww_url_encode="application/x-www-form-urlencoded";publicfinalStringmul_data="multipart/form-data";publicfinalStringtxt_pla="text/plain";publicvoiddoFilt
5、er(ServletRequestarg0,ServletResponsearg1,FilterChainarg2)throwsIOException,ServletException{HttpServletRequestrequest=(HttpServletRequest)arg0;HttpServletResponseresponse=(HttpServletResponse)arg1;StringcontenType=request.getHeader("conTent-type");if(contenType!=null&&!contenType.equals("")&&!c
6、ontenType.equalsIgnoreCase(www_url_encode)&&!contenType.equalsIgnoreCase(mul_data)&&!contenType.equalsIgnoreCase(txt_pla)){response.setContentType("text/html;charset=UTF-8");response.getWriter().write("非法请求Content-Type!");return;}arg2.doFilter(request,response);}publicvoidinit(FilterConfigarg0)t
7、hrowsServletException{}}1.将Java编译以后的“SecurityFilter.class”(SecurityFilter.java是源代码文件)复制到应用的WEB-INF/classes目录下。2.配置Filter将下面的代码加入WEB-INF/web.xml文件中。SecurityFilterSecurityFilter
此文档下载收益归作者所有