Struts2/XWork 安全漏洞Remote Command Execution(2)

Struts2/XWork 安全漏洞Remote Command Execution(二)
Struts2/XWork 安全漏洞Remote Command Execution(二)

【my_corner】在其博客中介绍了struts2/xwork的Remote Command Execution Vulnerability漏洞,分析了原因并提供了解决方式,可以参见http://my-corner.iteye.com/blog/720209

去struts官网逛了一下,发现第一种解决方式升级到struts2.2版本(当时的最新版),最终还是没有彻底解决该问题。目前,需要解决该问题需要更新至2.3.1.2或是最新版本并且更新相对应的ongl和xwork的jar包。

 

 

如果不能进行升级,建议加入一下过滤设置

my_corner文中提供的方式(过滤#,该方式应该没有问题,不过我没有试。)

 

<interceptor-ref name="params">  
<param name="excludeParams">.*\\u0023.*</param>  
</interceptor-ref>  

 下面是官方提供的方式

 

 

<interceptor-ref name="params">
	<param name="acceptParamNames">\w+((\.\w+)|(\[\d+\])|(\['\w+'\]))*</param>
</interceptor-ref>

 

如何验证漏洞就不多说了,有兴趣去研究一下吧。

建议大家有条件的还是升一下struts的包,虽然不知道最新的包还会爆出什么漏洞来。

对于开源组件应该关注其更新升级情况,至少应该关心S级别的bug。

最后【my_corner】文中提到Windows服务器执行的问题,同样可以执行成功,这种漏洞和服务器无关,只和想象力有关。