Struts漏洞修补过程之S2-016

本文提供了解决Struts2漏洞S2-016的具体步骤,包括升级到指定版本、修改web.xml文件、建立xwork-2.0.dtd文件等操作,以确保系统的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

相关阅读:

Apache Struts多个前缀参数远程命令执行漏洞(CVE-2013-2251) http://www.linuxidc.com/Linux/2013-07/87491.htm

Apache Struts 多个开放重定向漏洞(CVE-2013-2248) http://www.linuxidc.com/Linux/2013-07/87490.htm

Struts2 远程执行代码(S2-016) 利用工具 http://www.linuxidc.com/Linux/2013-07/87541.htmStruts漏洞修补过程之S2-016
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值