关于修复Struts2 S2-046漏洞

unclezh0730 2017-03-29 11:50:37
公司有个老旧项目,不想升级,害怕升级会导致一百万个问题。所以现在想着能不能有不升级的办法修复漏洞

之前的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的上传文件的以来包需要有几个结合)不匹配导致的,请问有哪个小哥哥知道匹配的办法么?或者说有不升级可以解决的办法也行哦,万分感谢,请大家帮帮忙,谢谢啦!!!!
...全文
1189 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yf313955 2017-08-31
  • 打赏
  • 举报
回复
bean的class错了吧 我按照你的class进不去的 应该是这样:<bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" class="org.apache.struts.extras.SecureJakartaMultipartParser" name="secure-jakarta-stream" scope="default"/> <constant name="struts.multipart.parser" value="secure-jakarta-stream"/>
unclezh0730 2017-03-29
  • 打赏
  • 举报
回复
……额……人好少?
unclezh0730 2017-03-29
  • 打赏
  • 举报
回复
有开发的哥哥么?帮忙看看,谢谢啦

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧