最近纯兴趣用JAVA开发了一个动漫网站 ( www.dmvcd.com ), 历经半个多月, 网站算是基本开发完了. 因为钱包的红牛数量有限, 租了个比较便宜的主机. 内存只有2G, 怕程序会挂掉, 于是自己写了个 monitor 监控程序, 可以自动检测和重启网站, 还会发email通知.
最后用了百度的云观测(功能强大, 包括监控网站的功能, 缺点是不能自动重启网站, 呵呵). 问题来了, 刚用了云观测没多久, 就收到了百度的邮件通知和短信通知, 告知网站存在strtus 漏洞, 危害就是 被黑客入侵,引起 数据库泄露网站被篡改等. 我用百度的测试URL来测试, 发现确实会导致网站发生异常, 甚至挂掉.
好吧, 既然度娘都提醒有漏洞, 那就修复吧(有BUG必修是我们程序猿的天性, 呵呵). 网站www.dmvcd.com 之前用的strtus版本是2.2.3, 度娘说在2013年6月底, apache发布的
Struts 2.3.15版本被曝出存在重要的安全漏洞, 需要升级到最新版本或是打补丁.
下面是网站strtus升级之前,用到的部分jar包:
asm-3.1.jar
commons-digester-1.8.jar
freemarker-2.3.16.jar
json-lib-2.1.jar
ognl-3.0.1.jar
strtus2-core-2.2.3.jar
strtus2-json-plugin-2.1.8.1.jar
strtus2-spring-plugin-2.2.3.jar
xwork-core-2.1.6.jar
直接升级到最新的2.3.24版本, 更新后的部分jar包如下:
asm-3.3.jar
commons-digester-2.0.jar
freemarker-2.3.22.jar
json-lib-2.3-jdk15.jar
ognl-3.0.6.jar
strtus2-core-2.3.24.jar
strtus2-json-plugin-2.3.24.jar
strtus2-spring-plugin-2.3.24.jar
xwork-core-2.3.24.jar
Strtus2.3.24最新jar包下载地址: http://mirrors.cnnic.cn/apache//struts/2.3.24/struts-2.3.24-lib.zip
[注意] 有个问题要注意: 从strtus官网上下载的jar不能全部导入到 WEB-INF的lib下, 会出现各种问题(终究是些jar冲突, 或是版本兼容的问题), 所以升级自己需要的jar包就可以了.
jar更新完之后, 网站在用DMI动态调用Action的方法的时候, 出现404错误(提示 could not find action or result异常). 好吧, 继续问度娘. 度娘说strtus 2.3.15
版本后, 默认是关闭DMI动态调用action 方法这个功能的.
知道问题就好办, 直接在strtus配置文件里配置一下, 开启这个功能就可以了. 在struts.xml中, 增加了下面的配置:
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
再测试一下, 问题解决. 这里要提示一下: strtus官方推荐使用通配符的方式来配置, 而不是 action!methodName 的方式来调用.
[ strtus升级小结 ]:
1. strtus.xml 中版本的声明需要修改为:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
2. 仅升级自己需要的jar包.
3. 开启动态DMI调用Action的方法, 在strtus.xml中 增加 <constant name="struts.enable.DynamicMethodInvocation" value="true" />
分享到:
相关推荐
struts2远程命令执行漏洞环境搭建以及录屏
strtus2自动漏洞检测工具,自动扫描漏洞位置。日志信息。欢迎评论。
strtus学习知识总结:国际化、校验码、文件上传、自定义类型转换器
使用STRTUS上传文件的简单例子.访问的文件为admin.jsp
Strtus2.3升级2.5(包含log4j升级log4j2)所需jar,和相关资料,可联系作者详细讲解升级过程,log4j2升级之后日志分级分片等。联系方式wx:XPL15753032590
struts2.2.3源代码
用strtus制作登陆页面 用strtus制作登陆页面用strtus制作登陆页面 用strtus制作登陆页面 用strtus制作登陆页面用strtus制作登陆页面 用strtus制作登陆页面
strtus1_html标签
Spring和strtus的xml文件的修改
Strtus2+spring+hibernateStrtus2+spring+hibernateStrtus2+spring+hibernate
利用Strtus2+hibernate+spring实现的用户管理小项目(内含mysql数据库脚本和所需的所有jar包),另外里面自己也做了一些封装,这个项目的说明可以参考我发表的博客"对SSH的一些认知
框架升级Struts2.5.10.1解决Struts2存在远程命令执行漏洞,升级后需要在struts.xml.文件中修改action加入,详细可以问度娘.该框架已经实际应用至实战项目(贵州人才在线:www.gzrczx.com)中.本人自己已经收藏.
最对刚刚暴露出来的strtus2漏洞修复需要替换的包
针对3.7号 struts新漏洞的新包修复
strtus2.5.8 实验内容: (1) 编写一个自定义类型转换器,并基于应用程序进行全局配置,实现字符串参数与颜色值之间的转换,并将颜色值应用于视图当中。 (2) 根据实验四的图书管理系统,扩展图书新增功能...
在myeclipse下开发的基于strtus和jdbc的图示管理系统,数据库是sqlserver2000.在myeclipse下导入后可直接运行,适合初学者
Strtus2简单登录界面,附带简单UI设计,内Stratus2基础架构,新手尝试
strtus2+spring3+ibaties2 项目整合 登录管理 项目实现了增删改查!值得一看
Strtus2.2.1.1 API Strtus2.2.1.1 API Strtus2.2.1.1 API 好东西就要拿来分享
个人整理使strtus2初学者轻松配置web.xml 以及strtus文件