自从著名J2EE框架Apache Struts2被曝出可被远程攻击者利用的执行漏洞后,关于Struts2的安全性便广受关注。近日,安全研究人员则再次发现了Struts2存在远程代码执行的漏洞,Struts2官方已经确认该漏洞(S2-045),并定级为高危漏洞。

编号为CVE-2017-5638的该漏洞,是基于Jakarta plugin插件的Struts远程代码执行漏洞。据悉,该漏洞会造成RCE远程代码执行,恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令,可直接造成系统被控制。黑客通过Jakarta文件上传插件实现远程利用该漏洞执行代码。

影响系统及版本:Struts 2.3.5 - Struts 2.3.31、Struts 2.5 - Struts 2.5.10。由于Apache Struts2是一种国内使用非常广泛的Web应用开发框架,被大量的政府、金融以及大中型互联网公司所使用。同时鉴于该漏洞的利用代码已经扩散,因此,对现有网站安全已构成了非常高的现实威胁。

那么众多行业网站该如何进行防护呢?作为一个临时处理方案,可以修改启动虚拟机相关选项,修改Struts 2上传文件时的上传解析器为非Jakarta。

  由于Struts 2默认用Jakarta的Common-FileUpload的文件上传解析器,这是存在漏洞的,默认为以下配置

struts.multipart.parser=jakarta

指定其他类型的解析器,以使系统避免漏洞的影响:

指定使用COS的文件上传解析器

struts.multipart.parser=cos

指定使用Pell的文件上传解析器

struts.multipart.parser=pell

此外,安全专家还给出了若干个修复建议:

第一,如果用户使用基于Jakarta的多分片文件上传解析器,强烈建议用户立即升级到Apache Struts 2.3.32 或 2.5.10.1 版本。

第二,天眼(SkyEye)未知威胁感知系统的流量探针已加入对利用此漏洞的攻击检测规则,可以精准地发现相关的攻击并判定是否攻击成功,请升级天眼未知威胁感知系统到3.0.3.1或以上版本并升级最新的检测规则。


天眼未知威胁感知系统检测到攻击截图

第三,如客户在无法确认是否使用该框架或相关版本,可通过360网站云监测服务、或360网站智能监控系统检查确认是否爆出该漏洞,从而进行下一步的防御措施。

第四,客户也可通过“云”+“端”的防护方案对该类型漏洞进行防护,从另一个维度解决问题。将方案通过在将安全保护代码嵌入到运行中的服务器应用程序,通过实时拦截所有的系统调用并确保调用安全,通过与云端防护系统的联动,最终实现应用程序自我保护,同时可为客户提供针对Web系统Web攻击防护、网页防篡改等安全防护能力。通过该方案的实施部署,针对该类型的漏洞可做到无需升级、智能防护,从另一个维度根本解决这类漏洞问题。

来源:网站再遭新威胁 Struts2又曝高危漏洞啦http://safe.zol.com.cn/630/6301248.html

转载(原标题:网站再遭新威胁 Struts2又曝高危漏洞啦)的更多相关文章

  1. Struts2再曝高危漏洞(S2-020补丁绕过)

    之前S2-020漏洞利用方式见drops:Struts2 Tomcat class.classLoader.resources.dirContext.docBase赋值造成的DoS及远程代码运行利用! ...

  2. 【转载】国内网站博客数据统计选免费Google Analytics还是百度统计

    [转载]国内网站博客数据统计选免费Google Analytics还是百度统计 Google Analytics谷歌统计是我用的第一个网站统计工具,当然现在也一直在用.Google Analytics ...

  3. 【转载】IIS网站配置不带www域名直接跳转带www的域名

    很多时候为了统一网站入口,需要将不带www的主域名解析到带www的域名记录下,当客户访问不带www的域名网址的时候自动跳转到带www的域名,在IIS Web服务器中可以通过URL重写模块来实现此功能, ...

  4. 【转载】IIS网站如何同时解析带www和不带www的域名

    针对公网上线的网站系统,很多网站的域名会同时含有带www和不带www的域名解析记录,如果需要同时解析带www和不带www的域名信息,则需要在相应的域名解析平台(如阿里云域名解析平台.腾讯云域名解析平台 ...

  5. [转] 分代垃圾回收的 新旧代引用问题(原标题:Back To Basics: Generational Garbage Collection)

    原文链接: https://blogs.msdn.microsoft.com/abhinaba/2009/03/02/back-to-basics-generational-garbage-colle ...

  6. 一位资深开发的个人经历 【转自百度贴吧 java吧 原标题 4年java 3年产品 现在又开始做android了】

    楼主2007年从一家天津的三流大学毕业.毕业前报了一个职位培训,毕业后可以推荐工作.因为推荐的公司都是北京的,所以就来北京了. 找了一个月工作,没有找到要我的,就在出租屋里宅了起来,打着考研的旗号,又 ...

  7. OpenID倡议:别再创建新的用户名和密码

    原文作者:Jeff Atwood 随着Stack Overflow开发工作的逐步深入,我们不可回避地碰到了这个问题:我们需要让用户登录,即使网络上用户名/密码已经泛滥成灾,我们也只能随波逐流.我已经有 ...

  8. 为支持ASP.NET5跨平台,Jexus再添新举措

    Jexus作为一款运行于Linux/FreeBSD平台上,以支持ASP.NET著称的高性能HTTP服务器和反向代理服务器,继5.6版完成对OWIN标准应用的支持后,就把着力点放到了对ASP.NET5的 ...

  9. (转载)AS3.0实例学习 熟悉新的事件机制和addChild的运用

    (转载)http://www.jb51.net/article/13139.htm 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英 ...

随机推荐

  1. vue2.0 transition 多个元素嵌套使用过渡

    在做vue的demo的时候遇到一个问题,多个嵌套的元素如何设置transition? 我的代码:代码中元素整体做平移,里面的inner中做旋转,实现一个圆形滚动的效果 <transition n ...

  2. HTML5世界地图

    在线演示 本地下载

  3. 20145222黄亚奇《网络对抗》web安全基础实践

    web安全基础实践 实验后回答问题 (1)SQL注入攻击原理,如何防御 原理:指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语 ...

  4. JavaWeb HTML

    1. HTML介绍 1.1. 什么是HTML HTML的全称为Hyper Text Markup Language,译为超文本标记语言. 超文本,就是指页面内可以包含图片.链接,甚至音乐.程序等非文字 ...

  5. jQuery和javaScript页面加载完成时触发的事件

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. make install报错

    今天,在运行公司内核的机器上,编译标准内核,结果提示: 问题原因: 原来安装新内核的时候,会与原内核比较,如果缺少了某些模块,就会提示”ERROR: modinfo: could not find m ...

  7. scala学习手记6 - 字符串与多行原始字符串

    scala中的字符串类就是java中的java.lang.String类.不过scala也为String提供了一个富封装类:scala.runtime.RichString. scala可以将java ...

  8. git 分支管理 (转自廖雪峰的git教程)

    在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...

  9. svn官方版本的使用

    创建仓库的命令是:svndadmin create c:\abcde 启动命令是:svnserve -d -r c:\abcde 官方版本,svn路径

  10. python函数语法学习

    Python函数 定义函数 在Python中,定义一个函数用def语句,一次写出函数名.括号中的参数和冒号:,函数返回使用return语句. def myDef(x): if x >= 0: r ...