摘要: 今天下午下班后,游侠看到网上爆出了Struts 2的最新漏洞——S2-048。描述:Showcase插件ActionMessage类中,通过构建不可信的输入实现远程命令攻击,存在安全风险。 然后……微博、微信朋友圈,就被刷屏了……我们来仔细看看,利用条件: 1...
今天下午下班后,游侠看到网上爆出了Struts 2的最新漏洞——S2-048。描述:Showcase插件ActionMessage类中,通过构建不可信的输入实现远程命令攻击,存在安全风险。
然后……微博、微信朋友圈,就被刷屏了……我们来仔细看看,利用条件:
1、Struts版本:Struts 2.3.x
2、有Struts 1的Showcase
相信经过了前一段各种漏洞的“洗礼”,如S2-045等,Struts 2已经都升级到了较新的版本。本次还有个前置条件,就是有Struts 1的Showcase,如果没有,就……呵呵
来一句“安全客”的原话:“非默认插件 struts2-struts1-plugin”,有多少人装了?真不好说。
所以,这次Struts 2官方对此漏洞的定义是“High(高危)”而不是“Critical(严重/极重要)”。so……指望今晚上熬夜去各大SRC刷RANK是不太现实的,熬夜去拿站做“其它用途”也不那么乐观。
当然,S2-048既然是RCE(远程命令执行)漏洞,还是有点威慑力的!还是来个“安全客”的图:
说一下安全公告中常见的两个词:High、Critical,前者是高危,后者是紧急/极重要。所以,从性质的严重程度而言,Critical要比High厉害。如果遇到Critical级别的漏洞,是必须立刻行动去修复的,而High的,要么影响面不是那么广泛,要么就是利用条件比较苛刻(但还是能利用的!如上图的“记事本”。)
附一个S2-045、S2-048的对比,中间标红了:
解决?—— 对,虽然是High而不是Critical,但游侠建议您还是立刻升级,毕竟,被黑这件事情,往往是巧合凑到一起之后发生的……万一你刚好不走运,被黑就是100%咯!
1、对于程序员
传递消息给ActionMessage时,用:
messages.add("msg", new ActionMessage("struts1.gangsterAdded", gform.getName()));
而不是
messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " was added"));
2、对于管理员
关闭Showcase;
升级Struts 2到最新版本(其实如果上次S2-045你升级到了2.5.x,这次就没问题)。
好了,游侠叨叨完了,能升级的赶紧升下级,然后去睡觉吧。哦,对了,用下面这个图压压惊(我真忘了谁发的了,朋友看到的)
作者:张百川(网路游侠)www.youxia.org 转载请注明来源!谢谢