Struts2被曝重要漏洞,波及全系版本

Apache Struts团队6月底发布了Struts 2.3.15版本,由于该版本被发现存在重要的安全漏洞,因此该团队今天发布了Struts 2.3.15.1安全更新版本。



该版本修复的主要安全漏洞如下:

1.  通过在参数前面加上“action:”/“redirect:”/“redirectAction:”前缀,以实现远程代码执行,如下:

代码
  1. http://host/struts2-blank/example/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}  
  2.   
  3. http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}  
  4.   
  5. http://host/struts2-showcase/employee/save.action?redirectAction:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}  
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()}



Struts2被曝重要漏洞,波及全系版本_第1张图片
Struts2被曝重要漏洞,波及全系版本_第2张图片



2.  通过在参数前面加上“redirect:”/“redirectAction:”前缀,以实现开放式重定向,如下:

代码
  1. http://host/struts2-showcase/fileupload/upload.action?redirect:http://www.yahoo.com/  
  2.   
  3. http://host/struts2-showcase/modelDriven/modelDriven.action?redirectAction:http://www.google.com/%23  
http://host/struts2-showcase/fileupload/upload.action?redirect:http://www.yahoo.com/

http://host/struts2-showcase/modelDriven/modelDriven.action?redirectAction:http://www.google.com/%23



Struts2被曝重要漏洞,波及全系版本_第3张图片



详细漏洞信息:

  • http://struts.apache.org/release/2.3.x/docs/s2-016.html
  • http://struts.apache.org/release/2.3.x/docs/s2-017.html
  • http://struts.apache.org/release/2.3.x/docs/version-notes-23151.html

建议开发者将所有Struts 2应用程序升级至最新版本。

如果你从其他分支迁移至2.3.x分支,需要注意,该分支最低要求Servlet API 2.4、JSP API 2.0和Java 5。

下载地址:http://struts.apache.org/

你可能感兴趣的:(Java)