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用起來也是比較舒爽。 

相關文章
相關標籤/搜索