今天复现了一下Struts2 S2-053 远程代码执行漏洞,这个漏洞的原因是由于Struts2框架在使用Freemarker模板引擎时,允许解析OGNL表达式。用户输入的数据首先被Freemarker模板引擎解析,这通常不会对用户输入进行OGNL表达式的解析。然而,如果用户输入的数据在经过Freemarker解析后,生成了有效的OGNL表达式,那么这些数据在后续的处理中...
3. 虽然S2-053的漏洞利用代码暂未公开,但最近的S2-052的漏洞利用代码已经公开,强烈建议更新到最新版本或使用WAF等措施缓解威胁。 - END -
https://cwiki.apache.org/confluence/display/WW/S2-053 漏洞原理与危害 当开发人员错误的Freemarker表达式构造方式时,可能会导致远程代码执行攻击。在使用如下形式的Freemarker标签时将可能产生远程命令执行漏洞。 <@s.hidden name="redirectUri" value=redirectUri /> <@s.hidden name="redirectUri" value="${red...
漏洞产生原因:Struts2在使用Freemarker模板引擎的时候,同时允许解析OGNL表达式。导致用户输入的数据本身不会被OGNL解析,但由于被Freemarker解析一次后变成离开一个表达式,被OGNL解析第二次,导致任意命令执行漏洞。(说句实话,没看懂啥意思,不过大致意思是没有处理好用户输入,导致rce产生) 影响版本:Struts 2.0.1 -Struts 2....
S2-053 这次来分析一下S2-053,漏洞说明以及环境请参考vulhub.不作另外介绍,专注原理分析. debug环境 jdk 1.8 Struts2.3 原理分析 漏洞示例解析过程 我们先看一下漏洞示例是如何执行的. 以下为struts.xml配置文件: <struts><constantname="struts.devMode"value="false"></constant><constantname="struts.enable.Dy...
继S2-052之后,Apache Struts 2再次被曝存在远程代码执行漏洞,漏洞编号S2-053,CVE编号CVE-2017-1000112。 当开发人员在Freemarker标签中使用错误的构造时,可能会导致远程代码执行漏洞。 影响范围 Struts 2.0.1 - Struts 2.3.33、Struts 2.5 - Struts 2.5.10 ...
漏洞编号:CVE-2017-12611、S2-053 漏洞概述:当开发人员在Freemarker标签中使用错误的构造时,可能会导致远程代码执行漏洞。 漏洞作者:Lupin@京东安全团队、David Greene、Roland McIntosh 影响范围:Struts 2.0.1 - Struts 2.3.33、Struts 2.5 - Struts 2.5.10 ...
根据官方表述该漏洞主要是Freemarker模板语言的一个特性,被开发人员错误利用导致因传入ognl表达式而造成RCE的风险,所以再结合官方给出的错误编码示例,很容易猜测到这个漏洞首先是一个安全编码导致的问题,而非struts2通杀漏洞,因此官方对该漏洞的风险定级为中危。
S2-053 受影响版本 Struts 2.0.1 – Struts 2.3.33, Struts 2.5 – Struts 2.5.10 不受影响版本 Struts2.5.12 or Struts 2.3.34 漏洞分析 如果标签内容是用“${}”这种方式解析,会被直接带入到OGNL中执行造成远程代码执行漏洞。 <@s.hiddenname="redirectUri" value="${redirectUri}" />解决方案 ...