Apache Struts2是应用于创建网站,平台,Java环境的一个开放式源代码MVC框架 系统。在Struts2 2.3.5-2.3.31 Struts 2.5-Struts 2.5.10版本上发现漏洞,这个漏 洞是利用Struts2的上传功能代码里的非正常处理函数代码,没有正确的去处理访问客 户输入的错误内容。导致黑客可以通过输入那里发送恶意的POST数据包,利用这个漏 洞在windows 2003 2008 2012服务器跟Linux centos系统服务器上执行系统权限命令。 黑客在上传文件的同时,通过POST提交HTTP请求头中的Content-Type值来利用这个漏洞,进而执行服务器的管理员权限命令。Sine安全公司是一家专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。 1.基于Jakarta插件的文件上传功能
2.入侵攻击者伪造post 请求里的Content-Type的值 出问题的网站代码如下: if (LocalizedTextUtil.findText(this.getClass(), errorKey, defaultLocale, null, new Object[0]) == null) { return LocalizedTextUtil.findText(this.getClass(), "struts.messages.error.uploading", defaultLocale, null, new Object[] { e.getMessage() }); } else { return LocalizedTextUtil.findText(this.getClass(), errorKey, defaultLocale, null, args); }
在以下3个代码文件里都含有漏洞代码: 1.coresrcmainjavaorgapachestruts2dispatchermultipartMultiPartRequestWrapper.java 2.coresrcmainjavaorgapachestruts2dispatchermultipartJakartaMultiPartRequest.java 3.coresrcmainjavaorgapachestruts2dispatchermultipartJakartaStreamMultiPartRequest.java 漏洞利用代码如下:(python 利用方法) Struts2 漏洞修复: 安全检查下网站web根目录下的 /WEB-INF/lib/,以及子目录下的struts- core.x.x.jar ,如果存在这个文件,说明是有漏洞,这个版本在Struts2.3.5 到 Struts2.3.31 以及 Struts2.5跟Struts2.5.10之间。 更新到Strusts2.3.32或者Strusts2.5.10.1最新版本,或使用第三方网站安全公司进 行安全加固以及安全防御。 临时的安全解决方案:删除/WEB-INF/lib/下的commons-fileupload-x.x.x.jar文件
(如果删除会造成网站的上传功能受到影响)Sine安全公司是一家专注于:服务器安
全、网站安全、网站安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务
提供商。 SINE安全工程师认为这次的漏洞很严重 可以跟2013年的那个st2-016漏洞可以相提并 论了,网站运营者要加强安全审计,宁可累一点,也不要让这种漏洞攻击造成的损失 发生在自己的网站上。
还没有评论,来说两句吧...