最近纯兴趣用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远程命令执行漏洞环境搭建以及录屏
它们记录了每个扫描步骤的详细信息,包括扫描时间、扫描的URL、检测到的漏洞类型,以及可能的修复建议。 "cmd.txt"可能是一个命令行脚本或者是一份关于如何使用该工具的说明文档。通过阅读这个文件,用户可以了解...
strtus学习知识总结:国际化、校验码、文件上传、自定义类型转换器
使用STRTUS上传文件的简单例子.访问的文件为admin.jsp
升级后,确保你的应用不再受到这些漏洞的影响。 在提供的压缩包文件中,可能包含了升级所需的jar文件和相关资料。这些资料可以帮助你理解升级过程,或者提供联系作者的方式,以便获取更详细的指导。记得在升级过程...
1、升级所需要的jar(见附件): freemarker-2.3.22.jar ognl-3.0.19.jar struts2-convention-plugin-2.3.32.jar struts2-core-2.3.32.jar struts2-spring-plugin-2.3.32.jar xwork-core-2.3.32.jar 2、删除...
struts2.2.3源代码
在Struts2的早期版本中,尤其是2.0.xx和2.3.28.1,存在一个名为CVE-2017-9791的安全漏洞,这是一个远程代码执行(RCE)漏洞,攻击者可以利用它来运行恶意代码,对服务器造成严重危害。因此,及时升级到修复了这些...
修复包中更新此组件,意味着可能有严重的框架级别的漏洞被修复,包括但不限于远程代码执行、注入攻击等。 3. **xwork-core-2.3.32.jar**:XWork是Struts2的基础,提供了许多底层功能,如动作调度、类型转换、异常...
当收到关于新漏洞的警告时,尽快升级到修复版本是非常重要的。这不仅能保护系统免受已知攻击的侵害,也是符合最佳安全实践的做法。升级到Struts2.3.32版本意味着开发者或管理员已经采取了必要的步骤来封堵任何可能...
首先,Struts2.3.35的升级主要是为了修复已知的安全漏洞。在过去的几年里,Struts2框架曾遭受过多个严重漏洞的困扰,比如著名的CVE-2017-9791(也被称为S2-048)和CVE-2017-5638(S2-045)等。这些漏洞允许攻击者...
8. **安全性**:Struts2.2.1.1修复了一些安全漏洞,例如著名的Struts2 S2-045漏洞,这是Struts2框架历史上一个严重的远程代码执行漏洞。更新至2.2.1.1版本有助于提高应用的安全性。 总的来说,Strtus2.2.1.1 API ...
利用Strtus2+hibernate+spring实现的用户管理小项目(内含mysql数据库脚本和所需的所有jar包),另外里面自己也做了一些封装,这个项目的说明可以参考我发表的博客"对SSH的一些认知
框架升级Struts2.5.10.1解决Struts2存在远程命令执行漏洞,升级后需要在struts.xml.文件中修改action加入,详细可以问度娘.该框架已经实际应用至实战项目(贵州人才在线:www.gzrczx.com)中.本人自己已经收藏.
Action是业务逻辑的载体,Result定义了Action执行后的视图展现,Interceptor则可以插入在Action调用前后,进行预处理或后处理,如日志记录、权限验证等。 **Spring** 是一个全面的Java企业级应用开发框架,提供IOC...
"完美抗击struts2高危漏洞"的描述表明这个版本着重于安全性,可能包含了对OWASP Top 10中的某些常见攻击,如SQL注入、跨站脚本(XSS)、命令注入等的防护措施。 "杜绝假冒 绝对正版"强调了该版本的合法性与可靠性,...
strtus2.5.8 实验内容: (1) 编写一个自定义类型转换器,并基于应用程序进行全局配置,实现字符串参数与颜色值之间的转换,并将颜色值应用于视图当中。 (2) 根据实验四的图书管理系统,扩展图书新增功能...
- **ActionForward的概念**:在Struts中,Action处理完请求之后,会返回一个ActionForward对象来指定下一步的操作,如跳转到某个页面或执行另一个Action。 #### 知识点五:调试与验证 - **启动服务器并访问页面**...
- `styleClass`:附加到该标签上的CSS样式表名称。 - `target`:指定表单提交的目标窗口或框架。 - **常用事件处理方法**: - `onreset`:指定表单重置时触发的JavaScript方法。 - `onsubmit`:指定表单提交前...
- Struts2历史上曾出现过一些重大的安全漏洞,如著名的CVE-2017-5638(S2-045)远程代码执行漏洞,影响了许多使用Struts2的系统。 - 2.3.34版本作为2.3系列的最新安全版,主要目的是修复这些安全漏洞,增强系统的...