且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Apache Struts 2 远程命令执行漏洞,你受到影响了?

更新时间:2022-03-18 08:04:19

Apache Struts 2 远程命令执行漏洞,你受到影响了?

Apache Struts 2 漏洞又来了...看看你所在的企业是否受到影响?

乌云导读

Apache Struts2 服务在开启动态方法调用的情况下可以远程执行任意命令,漏洞利用代码已经开始流传。

今日Apache Struts2官方发布安全公告,Apache Struts2 服务在开启动态方法调用的情况下可以远程执行任意命令,官方编号 S2-032,CVE编号 CVE-2016-3081,具体请见: S2-032 Security Bulletins 。

漏洞测试样例(无风险):

http://d047ab33ccbe2dda8.jie.sangebaimao.com/struts2-showcase/filedownload/index.action?method:%23_memberAccess%3D@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%2C%23test%3D%23context.get%28%23parameters.res%5B0%5D%29.getWriter%28%29%2C%23test.println%28%23parameters.command%5B0%5D%29%2C%23test.flush%28%29%2C%23test.close&res=com.opensymphony.xwork2.dispatcher.HttpServletResponse&command=%23%23%23Struts2 S2-032 Vulnerable%23%23%23

漏洞影响范围:

Struts2 服务动态方法调用-DMI 开启的前提;

Apache Struts 2.3.18 ~ 2.3.28 之间版本(除了 2.3.20.2 与 2.3.24.2 版本);

PS:感谢 tang3(绿盟科技) 的技术分析指出官方给出的影响范围存在误差,以上为准。

解决方案:

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 来修复漏洞,新版本下载地址:struts.apache.org/download.cgi#struts2328。

目前已有多个版本的漏洞利用 POC 在互联网流传,分为命令执行版本与直接写入Web后门的版本。同时乌云漏洞报告平台也开始陆续收到多家企业的安全漏洞报告,例如网易、多玩等互联网企业,预计今晚会迎来漏洞爆发的第一个小高峰。

Apache Struts 2 远程命令执行漏洞,你受到影响了?

另外就乌云漏洞报告平台历史 Struts2 漏洞爆发情况来看,该漏洞还可能影响***、银行、证券、保险等行业,需提前做好安全应急与防范措施!

历年 Struts2 漏洞爆发时,乌云平台的行业覆盖情况如下:

Apache Struts 2 远程命令执行漏洞,你受到影响了?

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]