我们有使用 Struts 2.0 和 2.1 的项目。
我们正在使用 Tomcat 进行网络托管,这两个项目都在远程服务器上运行良好。最近,我们收到来自虚拟主机提供商的警告消息,例如:
此通知通知您,最近发现了许多与 Struts 和 Struts 2 框架以及使用 OGNL 类的其他框架相关的漏洞。
由于您的应用程序正在使用 Struts 或 Struts 2 框架,我们强烈建议您紧急将其更新到最新版本:Struts v2.3.16.1
经过研究,我们发现有一致的升级: http://struts.apache.org/announce.html
因此,我们尝试将Struts升级到2.3.16.3(目前最新版本)。然而,我们发现升级 Struts 2 并不是一件小事,因为一切都不起作用,包括 AJAX 标签、AJAX 表单提交、自动完成等。从这个意义上说,Struts 2 的可扩展性设计并不好。
一个例子是,每当我们提交 AJAX 表单时,结果都将在新页面中,而不是在
<sx:submit>
或 <sj:submit>
标签中定义的目标字段中。我们不想因为升级而重新编写所有代码。
我们想知道如果不将Struts 2升级到最新版本,我们的Web应用程序会面临什么样的漏洞?有人可以根据我们的情况向我们提供更多详细信息或任何解决方案的提示吗?
您可能正在寻找安全公告。每个文档都描述了摘要、问题以及解决问题的解决方案。在每个文档的末尾,您可以找到可用的修补程序。
一个例子是,每当我们提交 ajax 表单时,结果都会 位于新页面中,而不是位于定义的目标字段中 sx:提交或 sj:提交标签。
看来您正在使用struts2和struts 2 jquery插件,所以也尝试更新到struts 2 jquery 3.7.0。
我建议接受一些返工和升级,因为一些安全问题很高。
有一些关键部分已发生变化,在升级过程中可能需要考虑,例如
acceptableParameterName
。另请检查您的参数拦截器堆栈和排除参数列表。