Apache Struts2高危漏洞(S2-057CVE-2018-11776)

花了两天时间,特此记录

一:背景:

2018年8月22日,Apache Strust2发布最新安全公告,Apache Struts2存在远程代码执行的高危漏洞。

二:漏洞产生原理:

1.需要知道对应跳转请求的action名称

2.Struts2框架中的属性设置为:

1) struts.mapper.alwaysSelectFullNamespace = true

2) type = “redirectAction”或 type = “chain”

三:恶意代码运行过程:

1. struts2-core.jar!/org/apache/struts2/dispatcher/ServletActionRedirectResult.class

2.通过getUriFromActionMapping()返回URI字符串;

3.通过getUriFromActionMapping获取的值赋给了tmpLocation变量,接着表达式进入setLocation方法

4.通过super.execute方法调用了ServletActionResult ,而在execute方法体内跟进了conditionalParse方法,在这个方法内调用了ONGL执行的关键方法translateVariables。

5.获得的param值传入到translateVariables()方法内,最终在OnglTextPaser里导致了OGNL表达式执行。

截图:

四:漏洞利用

可以通过构造uri请求实现恶意利用,探测服务器相关信息,以及远程控制服务器的目的。

远控构造请求,弹出shell窗口供利用者执行command命令

五:防御措施:

  1. 将框架版本升级到官方最新版本
  2. 对于Web应用来说,尽量保证代码的安全性,修改前面所说两处属性设置

原文地址:https://www.cnblogs.com/AtesetEnginner/p/9578131.html

时间: 2024-10-11 07:23:21

Apache Struts2高危漏洞(S2-057CVE-2018-11776)的相关文章

Apache Struts2发布漏洞公告

在jsp商城开发以及java商城开发中中通过采用JavaServlet/JSP技术,实现了基于Java EE Web应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品,也是国际上应用最广泛的Web应用框架之一.java商城开发中的网上银行.政府网站.主要门户网站都大量使用Struts. 近日,Apache Struts2发布漏洞公告,声称Struts2应用框架出现一个高危漏洞.同时发布的,还有漏洞补丁包(最新版本为:2.3.15.1)和黑客攻击尝试验证代码. 经国内网站安全服务

Struts2应用框架出现一个高危漏洞

在jsp商城开发中通过采用JavaServlet/JSP技术,实现了基于Java EE Web应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品,也是国际上应用最广泛的Web应用框架之一.java商城开发中的网上银行.政府网站.主要门户网站都大量使用Struts. 近日,Apache Struts2发布漏洞公告,声称Struts2应用框架出现一个高危漏洞.同时发布的,还有漏洞补丁包(最新版本为:2.3.15.1)和黑客攻击尝试验证代码. 经国内网站安全服务商SCANV.COM确

据说struts2又出高危漏洞

无意间从blog.trtos.com和一些知名安全平台里看到了别人分享的struts2高危漏洞相关信息,甚是惊讶,心想:struts2框架是要被例如web应用黑名单的节奏啊,漏洞频出,一出就是高危.简直了,不过据了解该漏洞比较难以利用,原因是大部分网站没有使用存在这个漏洞struts2的插件,所以攻击者即使知道了怎么攻击,但是没有攻击对象就很没意思了. 下面是漏洞文章: http://blog.trtos.com/?id=822

关于停止使用Apache Struts2开发框架的通知

原文链接: http://www.cnblogs.com/yxnchinahlj/p/7770509.html 各有关单位: Apache Struts2(以下简称"S2")是一种开源的.基于MVC架构的Java Web应用开发框架. S2自从2007年面世以来被国内外广泛使用,但也因屡次被披露存在高风险漏洞而闻名.采用S2的信息系统(网站)已成为境内外黑客重点攻击对象,因未及时修补漏洞而被攻击的安全事件屡屡发生. 鉴于S2漏洞较多.维护难度较大,为防范控制网络安全风险,经研究决定,新

我为什么支持高校的业务系统放弃Apache Struts2框架(三)

月初听闻广东某高校(中山大学)发布通知:关于停止使用Apache Struts2开发框架的通知 鉴于S2漏洞较多.维护难度较大,为防范控制网络安全风险,经研究决定,新建信息化项目不得使用S2: 在用S2的信息系统(网站)应尽快转用其他更安全的MVC框架(如Spring MVC等):从即日起,使用S2的信息系统(网站)将仅限校园网内访问. 作为信息安全爱好者,个人对学校的决定是举双手支持的,Struts 2框架在安全方面似乎有着与生俱来的缺陷,与同类开源项目相比,它的问题是在是太多了.下面说一下我

OA高危漏洞的修复过程

21日信息安全部副总监转来一封邮件,关于OA的重大安全隐患,一是越权访问的问题:二是struts版本问题,经过一段时间的整改,现将问题描述和解决方案及实施过程总结如下: 越权访问漏洞 风险等级:高危 问题类型:程序漏洞 问题描述: 由于OA系统档案查询模块没有对查询者的权限进行完整验证,导致攻击者可以利用该漏洞在查询模块通过修改工号的方式遍历公司所有员工的个人信息.(注:editStaffInfoByCode参数值即工号) 漏洞地址: curl 'https://oa.*******.com/d

我为什么支持高校的信息系统放弃Apache Struts2框架(五)

月初听闻广东某高校(中山大学)发布通知:关于停止使用Apache Struts2开发框架的通知 鉴于S2漏洞较多.维护难度较大,为防范控制网络安全风险,经研究决定,新建信息化项目不得使用S2: 在用S2的信息系统(网站)应尽快转用其他更安全的MVC框架(如Spring MVC等):从即日起,使用S2的信息系统(网站)将仅限校园网内访问. 作为信息安全爱好者,个人对学校的决定是举双手支持的,Struts 2框架在安全方面似乎有着与生俱来的缺陷,与同类开源项目相比,它的问题是在是太多了.下面说一下我

我为什么支持高校的业务系统放弃Apache Struts2框架(四)

月初听闻广东某高校(中山大学)发布通知:关于停止使用Apache Struts2开发框架的通知 鉴于S2漏洞较多.维护难度较大,为防范控制网络安全风险,经研究决定,新建信息化项目不得使用S2: 在用S2的信息系统(网站)应尽快转用其他更安全的MVC框架(如Spring MVC等):从即日起,使用S2的信息系统(网站)将仅限校园网内访问. 作为信息安全爱好者,个人对学校的决定是举双手支持的,Struts 2框架在安全方面似乎有着与生俱来的缺陷,与同类开源项目相比,它的问题是在是太多了.下面说一下我

我为什么支持高校的业务系统放弃Apache Struts2框架(二)

月初听闻广东某高校(中山大学)发布通知:关于停止使用Apache Struts2开发框架的通知 鉴于S2漏洞较多.维护难度较大,为防范控制网络安全风险,经研究决定,新建信息化项目不得使用S2: 在用S2的信息系统(网站)应尽快转用其他更安全的MVC框架(如Spring MVC等):从即日起,使用S2的信息系统(网站)将仅限校园网内访问. 作为信息安全爱好者,个人对学校的决定是举双手支持的,Struts 2框架在安全方面似乎有着与生俱来的缺陷,与同类开源项目相比,它的问题是在是太多了.下面说一下我