项目安全检测到struts2.3.15.1以下的版本存在如下漏洞:
action:redirect和redirectAction前缀参数在实现其功能的过程中使用了Ognl表达式,并将用户通过URL提交的内容拼接入Ognl表达式中,从而造成攻击者可以通过恶意的URL来执行java代码,进而可执行任意命令。
解决方法如下:
1.将struts2的核心包升级到2.3.20
2.加入commons-lang3-3.2.jar
3.注意升级ognl.jar
4.修改web.xml
将
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>修改为
<filter>
<filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>actionPackages</param-name> <param-value>com.mycompany.myapp.actions</param-value> </init-param> </filter>
本文介绍了一个影响 Struts2 2.3.15.1 及以下版本的安全漏洞,该漏洞允许攻击者通过恶意 URL 执行任意命令。文章提供了详细的修复步骤,包括升级核心包、引入依赖库及配置更改。
1618

被折叠的 条评论
为什么被折叠?



