请选择 进入手机版 | 继续访问电脑版

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

发表于 2017-03-08 17:29 显示全部楼层 19 304

Struts2既然是java的同志都学过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,照样出现这个问题,请看图

A9A1]VG9UPIHW6_LV$OX_FY.png

XB@$}9@`(TO2%E7Q`4`00AT.png

使用一个工具,测试服务器接口,就能测试出暴露的账号密码,工具我不上传,开始我想升级框架,但是我这边要改动大量代码,并且我去看过我这个版本是安全的struts 但是还是有这个问题,所以我就更改框架底层配置

上面的也有描述Struts 2默认用Jakarta的Common-FileUpload的文件上传解析器,这是存在漏洞的,默认为以下配置

  struts.multipart.parser=jakarta

J~{SEP`Y{X[FYKO{))W(9VY.png这个xml在struts-code包里面的struts-default.xml里

我们把它更改成pell

ED2WU3C]LF@1MJXW4VQK_VB.png

然后部署项目,再去测试结果

65OI3JHNNT}929]Z5V23PIN.png

已经变成404了.不在可以攻击了,这个是我个人在公司开发项目,亲手处理的问题

回复 使用道具
举报
东北兰蔻

发表于 2017-05-01 19:22 显示全部楼层

回复 支持 反对 使用道具
举报
行运超人

发表于 2017-04-24 23:29 显示全部楼层

回复 支持 反对 使用道具
举报
monkeye

发表于 2017-04-14 10:54 显示全部楼层

围观楼主

回复 支持 反对 使用道具
举报
凌大胖纸

发表于 2017-04-10 10:53 显示全部楼层

回复 支持 反对 使用道具
举报
今夜为你想

发表于 2017-04-03 15:51 显示全部楼层

回复 支持 反对 使用道具
举报
南瑟1

发表于 2017-03-30 06:26 显示全部楼层

回复 支持 反对 使用道具
举报
懵懂的少年猴哥

发表于 2017-03-26 12:12 显示全部楼层

每一个成功者都有一个开始。成功的路,始于回复。

回复 支持 反对 使用道具
举报
旧霾街

发表于 2017-03-23 10:34 显示全部楼层

观后纵想法再多,也不如一句回复实在!

回复 支持 反对 使用道具
举报
戈多

发表于 2017-03-13 16:24 显示全部楼层

这头像也是厉害咯

回复 支持 反对 使用道具
举报
收起回复 展开
EasternUnbeate 戈多   发表于 2017-03-17 08:26

这个头像值八千

12下一页

发表新文章
EasternUnbeate

小码哥准会员

0

学分

131

学币

152

积分

小码哥准会员

Rank: 2

积分
152
Ta的主页 发消息
精华帖排行榜

精彩推荐

  • 关注小码哥教育