zoukankan      html  css  js  c++  java
  • struts漏洞修补过程之S2-016

    Struts漏洞修补过程之S2-016。邪恶的Struts再次现身,这一次是远程执行漏洞。官方建议立即升级到2.3.15.1。真希望这是最后一次漏洞修补。下面是升级步骤。


    1.升级到struts2.3.15.1,

    需要导入的包

    asm-3.3.jar
    asm-commons-3.3.jar
    asm-tree-3.3.jar
    commons-fileupload-1.2.2.jar
    commons-io-2.0.1.jar
    commons-lang3-3.1.jar
    freemarker-2.3.19.jar
    javaassist-3.11.0.GA.jar
    ognl-3.0.6.jar
    struts2-core-2.3.15.1.jar
    xwork-core-2.3.15.1.jar


    可以从这里下载2.3.15.1的struts,这里


    2.修改web.xml,解决启动后的报错问题,

    为避免tomcat启动后,频繁提示“FilterDispatcher is now deprecated” 的错误信息,

    需要修改web.xml文件。

    去除对org.apache.struts2.dispatcher.FilterDispatcher的引用,改为下面的样子:

    <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>


    3.自己建立xwork-2.0.dtd文件,解决运行时错误。

    如果运行时,还发生如下错误的话,

    	... 35 more
     Caused by: java.io.FileNotFoundException: http://www.opensymphony.com/xwork/xwork-2.0.dtd
     	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1303)


    就需要,建立自己的xwork-2.0.dtd文件。原因是 http://www.opensymphony.com/xwork 这个路径不存在了。

    一个解决办法是,在服务器上配置一个HTTP服务器,例如IIS或者Apache,然后建立xwork目录和xwork-2.0.dtd文件,然后,修改本机的hosts文件,加入一条DNS记录,把www.opensymphony.com指向本机IP。


    做完这几步,就OK了。可以试试服务是否能够正常运行了。


    参考:

    1.http://stackoverflow.com/questions/14278258/struts2-hello-world-jsp-example-error

    2.http://got-code.blogspot.com/2011/06/javaiofilenotfoundexception.html

    3.http://struts.apache.org/release/2.3.x/docs/s2-016.html






  • 相关阅读:
    luogu 2962 [USACO09NOV]灯Lights
    bzoj 1923
    bzoj 1013
    bzoj 3513
    bzoj 4259
    bzoj 4503
    CF 632E
    bzoj 3527
    bzoj 3160
    bzoj 2179
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3211917.html
Copyright © 2011-2022 走看看