Struts2框架缺陷造成的远程执行漏洞-解决方案

Struts2框架缺陷造成的远程执行漏洞-解决方案
Struts2在旧版本上面是有漏洞的,Apache官方也有说明
网上大部分意见就是升级Struts2,因为在新版本已经解决这问题
CVE编号CVE-2017-5638.(基于 Jakarta plugin插件的Struts远程代码执行漏洞),该漏洞会造成RCE远程代码执行,恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令,可直接造成系统被控制。黑客通过Jakarta 文件上传插件实现远程利用该漏洞执行代码。
  其风险等级为:高危
  影响系统及版本:Struts 2.3.5 - Struts 2.3.31、Struts 2.5 - Struts 2.5.10
  临时处理方案
  * 修改启动虚拟机相关选项,修改Struts 2上传文件时的上传解析器为非Jakarta
  Struts 2默认用Jakarta的Common-FileUpload的文件上传解析器,这是存在漏洞的,默认为以下配置
  struts.multipart.parser=jakarta
  指定其他类型的解析器,以使系统避免漏洞的影响:
  指定使用COS的文件上传解析器
  struts.multipart.parser=cos
  或
  指定使用Pell的文件上传解析器
  struts.multipart.parser=pell
上面这些信息只是描述,但是我本地使用的是2.3.15.1,照样出现这个问题,请看图
这里写图片描述
使用一个工具,测试服务器接口,就能测试出暴露的账号密码,工具我不上传,开始我想升级框架,但是我这边要改动大量代码,并且我去看过我这个版本是安全的struts 但是还是有这个问题,所以我就更改框架底层配置
上面的也有描述Struts 2默认用Jakarta的Common-FileUpload的文件上传解析器,这是存在漏洞的,默认为以下配置
  struts.multipart.parser=jakarta
  struts.multipart.parser=jakarta
  这个xml在struts-code包里面的struts-default.xml里
我们把它更改成pell
struts.multipart.parser=pell
然后部署项目,再去测试结果
这里写图片描述
已经变成404了.不在可以攻击了
如果是引用框架,记得去把框架底层源码改了,然后从新打包框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值