Apache Struts2(S02-032)远程代码执行之批量检测

0x00 背景

近日,Apache公布了Strut2的又一远程代码执行漏洞S2-032。随之,各种poc和exp开始出现在各大论坛和QQ群。新一轮的腥风血雨即将开始!

0x01 分析

主要原因为在用户开启动态方法调用的情况下,会被攻击者实现远程代码执行攻击。具体分析如下:

http://seclab.dbappsecurity.com.cn/?p=924

http://blog.nsfocus.net/tech/技术分享/2016/04/26/Struts2方法调用远程代码执行漏洞-CVE-2016-3081-分析.html

https://www.seebug.org/vuldb/ssvid-91389

0x02 利用

网传的各种poc和exp如下:

http://zone.wooyun.org/content/26856

http://zone.wooyun.org/content/26862

http://www.shack2.org/article/1374154000.html

为了更深层次的了解这个漏洞的危害,笔者也“跟风”地写了一个批量检测的小工具,如下图:

工具下载地址:https://github.com/brianwrf/hackUtils

0x03 解决方案

1)禁用动态方法调用:

修改 Struts2 的配置文件,将“struts.enable.DynamicMethodInvocation” 设置为 false,如

<constant name=”struts.enable.DynamicMethodInvocation” value=”false” />;

2)如条件允许前提下,可升级 Struts 版本至 Struts 2.3.20.2,Struts 2.3.24.2 或者 Struts 2.3.28.1 来修复漏洞,新版本下载地址:https://struts.apache.org/download.cgi#struts2328

声明:本工具仅供学习交流,任何人不得用于非法目的或者入侵他人网站,否则一切后果自负,与本人无关!