关于修复Struts2 S2-046漏洞
公司有个老旧项目,不想升级,害怕升级会导致一百万个问题。所以现在想着能不能有不升级的办法修复漏洞
之前的045漏洞,通过过滤器,过滤contentType的内容来修复了,但是随后出现的046号漏洞,似乎过滤起来问题比较大,难度比较高,我搜索之后也没有发现网上有哥们共享代码,自己写的测试还是有问题。后来偶然在网上查到可以添加官方应急的jar(struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar)来改变上传文件的组件,操作是将这个jar放到项目的lib目录下,然后再配置文件Struts.xml中添加配置
< bean type = “ org.apache.struts2.dispatcher.multipart.MultiPartRequest ”
class = “ org.apache.struts.extras.SecureJakartaStreamMultiPartRequest ”
name = “ secure-jakarta-stream ”
scope = “ default ” />
< constant name = “ struts.multipart.parser ” value = “ secure-jakarta-stream ” />
我照做之后,检测是不出现漏洞了,可是上传就废了,报错(java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (ecure-jakarta-stream) - [unknown location]),我猜测是因为那个jar的匹配jar(我们知道Strust2的上传文件的以来包需要有几个结合)不匹配导致的,请问有哪个小哥哥知道匹配的办法么?或者说有不升级可以解决的办法也行哦,万分感谢,请大家帮帮忙,谢谢啦!!!!