近日,Struts2曝出2个高危安全漏洞,一个是使用缩写的导航参数前缀时的远程代码执行漏洞,另一个是使用缩写的重定向参数前缀时的开放式重定向漏洞。这些漏洞可使黑客取得网站服务器的“最高权限”,从而使企业服务器变成黑客手中的“肉鸡”。
据乌云平台漏洞报告,淘宝、京东、腾讯等大型互联网厂商均受此影响,而且漏洞利用代码已经被强化,可直接通过浏览器的提交对服务器进行任意操作并获取敏感内容。Struts漏洞影响巨大,受影响站点以电商、银行、门户、政府居多,而且一些自动化、傻瓜化的利用工具开始出现,填入地址可直接执行服务器命令,读取数据甚至直接关机等操作。
这次漏洞影响的版本比较多,从2.0-2.3.15。涉及漏洞可在当前服务器上执行任意命令或访问重定向。目前官方已经紧急更新漏洞,并发布了最新的Struts2版本。请尽快将Struts 2升级到最新的2.3.15.1版本。
下面通过本机的例子来看看这个漏洞的可怕之处。通过在参数前面加上“action:”/“redirect:”/“redirectAction:”前缀,以实现远程代码执行。来看看如何利用这个漏洞关机吧。
首先启动WEB工程,然后打开IE或者火狐的开发者工具(F12),捕获到请求的action路径。如图:
然后在请求的最后加上这段“?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{‘Shutdown’,'-s’,'-t’,’3600′})).start()}”。只是达到效果哈, 就不立刻关机了。
将组装后的地址,复制到地址栏中。回车运行,后面的关机代码会继续执行。如:
为了安全着想,还是尽快将Struts2的版本升级吧。