Struts2漏洞解决

     若是你也正在使用Struts2做为web层框架作开发或者作公司的送检产品,而后被告知有各类各样的Struts2漏洞,那本篇博客值得你花时间来喽上一两眼。html

     前端时间抽空为公司作了新一代的送检产品,为了方便,直接选择了手头以前搭好的一个使用Struts2的项目进行开发,开始并无意识到我正在使用的这个Struts2版本也是有漏洞的,后来检查完以后才被告知有s2-045和s2-046漏洞以及devMode模式(会致使严重远程代码执行漏洞)未关闭。由此就须要进行修改,通过一番学习,了解到我所用的版本依然是存在漏洞的,因而从网上找了最新的Struts2漏洞检测工具以及官网2.3.32版本的jar包进行了替换,以后进行了简单的调试,而后再进行送检最后才经过。前端

    如下是各种漏洞的详细影响信息:web

  ==漏洞编号==============影响版本=========================官方公告==========================================影响范围=====
  S2-045 CVE-2017-5638 Struts 2.3.5-2.3.31, Struts 2.5-2.5.10 http://struts.apache.org/docs/s2-045.html 影响范围较大
  S2-037 CVE-2016-4438 Struts 2.3.20-2.3.28.1 http://struts.apache.org/docs/s2-037.html 影响范围小
  S2-032 CVE-2016-3081 Struts 2.3.18-2.3.28 http://struts.apache.org/release/2.3.x/docs/s2-032.html 影响范围小
  S2-020 CVE-2014-0094 Struts 2.0.0-2.3.16 http://struts.apache.org/release/2.3.x/docs/s2-020.html 影响范围小
  S2-019 CVE-2013-4316 Struts 2.0.0-2.3.15.1 http://struts.apache.org/release/2.3.x/docs/s2-019.html 影响范围通常
  S2-016 CVE-2013-2251 Struts 2.0.0-2.3.15 http://struts.apache.org/release/2.3.x/docs/s2-016.html 影响范围很是大
  S2-013 CVE-2013-1966 Struts 2.0.0-2.3.14 http://struts.apache.org/release/2.3.x/docs/s2-013.html 未添加,S2-016范围内
  S2-009 CVE-2011-3923 Struts 2.0.0-2.3.1.1 http://struts.apache.org/release/2.3.x/docs/s2-009.html 未添加,S2-016范围内
  S2-005 CVE-2010-1870 Struts 2.0.0-2.1.8.1 http://struts.apache.org/release/2.2.x/docs/s2-005.html 未添加,S2-016范围内apache

    而后分享一下本次用的漏洞检测工具:连接:http://pan.baidu.com/s/1qXMYeyK 密码:ckt9服务器

                                2.3.32版本的jar包:连接:http://pan.baidu.com/s/1kUVVHHH 密码:jot0session

    经过升级jar包,能够避免s2-045和s2-046漏洞,若是是maven项目直接修改pom文件便可(前提是仓库中要有该版本)。app

    devMode模式的关闭方式是须要在struts.xml 设置框架

<constant name="struts.devMode" value="false" />

 而后经过项目访问 /struts/webconsole.html,若是是404那么则表示该模式已经关闭。webapp

   另外,若是使用的Tomcat做为服务器软件,那么webapps下面的example文件夹和docs文件夹都应该删除,example应用可向网站写入有效session,黑客可用于绕过网站验证机制直接登陆后台,把Tomcat的默认示例文件、帮助文件、后台管理界面等进行删除,能够有效避免Tomcat应用信息泄露。maven

   可能近年来Struts2框架已经不那么受欢迎了,因此前web层框架也能够考虑使用SpringMVC用起来也是比较舒爽。 

相关文章
相关标签/搜索