struts漏洞的原因,心血漏洞的介绍
struts漏洞的原因,心血漏洞的介绍详细介绍
本文目录一览: struts漏洞是什么,怎么产生的,有哪些危害?
总体来说,struts是JAVA开发中普遍采用的一种框架结构,相当于你用WINDOWS系统,系统本身就使用了自己的一些框架和模型来运行。一旦结构本身问题,与之对应的所有机器和系统都有可能有问题,所以这个危害性不言而喻。这只是笼统的表述粗来,你如要具体的深究里面的原因,需要会JAVA和逆向分析。这只是我的一点理解。
struts2漏洞是什么
1. Struts2的重定向漏洞
根据Apache给出的漏洞修复方案,只是升级了jar包版本2.3.16
升级完成后所有页面访问都出现了404,如下bug:
There is no Action mapped for namespace [/] and action name [XX!XX] associated with context path....
解决办法:当时好像使用了Dynamic Method Invocation 动态方法调用,然后Struts.xml文件都修改了通配符和占位符匹配。
2. Struts2 OGNL的高危漏洞S-045
Struts使用的Jakarta解析文件上传请求包不当,当远程攻击者构造恶意的Content-Type,可能导致远程命令执行。
针对此问题做出如下修改:
(1)根据Apache给出的漏洞修复方案,升级Struts2相关jar到2.3.32
(2)关于上传文件部分做出如下验证
<1>上传文件非空验证;
<2>上传文件格式验证;
<3>上传文件验证MimeType;
<4>文件是否可被修改高宽或裁剪(本次项目上传完文件为图片)
<5>文件保存路径重命名。
学习java知识,推荐北京尚学堂,我们拥有多年编程培训经验,会让你在学习的时候快人一步!
如何看待Struts2远程代码执行漏洞的危害
建议腾讯电脑管家修复,系统漏洞经常被黑客利用传播恶意程序(如网页挂马),必须及时修复系统漏洞才能有效防止计算机在上网时被黑客入侵,不过如果安装了安全软件,并且漏洞介绍看起来不是那么严重的话,可以选择不修复。
Windows系统漏洞是指操作系统在开发过程中存在的技术缺陷,这些缺陷可能导致其他用户在未被授权的情况下非法访问或攻击计算机系统。因此,系统开发商一般每月都会发布最新的补丁用以修复新发现的漏洞。目前,腾讯电脑管家支持修复Windows操作系统漏洞和部分第三方软件漏洞。
我们知道这个漏洞是Struts2默认解析上传文件的Content-Type头的过程中出现的问题。struts2如果解析这个头出错,就会执行错误信息中的OGNL代码。该漏洞危害非常大,而且利用成功率高甚至不需要找上传点,自己构造上传包就可以利用,进行远程命令执行。权限自然也基本上属于服务权限,因为你的命令代码是web服务器帮你执行的,它有啥权限,你也就有啥权限。
使用Struts2的原因是什么?
因为Struts2比Struts1更加的简单,不需要依赖其他的软件,属于无入侵式设计。
Struts2的介绍:
1、Struts 2是Struts的下一代产品,是在WebWork的技术基础上开发了全新MVC框架。虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2与Struts1相比,确实有很多革命性的改进。
2、Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
3、Struts和Webwork同为服务于Web的一种MVC框架,从某种程度上看,Struts2是从WebWork2上升级得到的。甚至Apache的官方文档也讲:WebWork2到Struts2是平滑的过渡。我们甚至也可以说Struts2就是WebWork2.3而已。
4、Struts2曝出2个高危安全漏洞,一个是使用缩写的导航参数前缀时的远程代码执行漏洞,另一个是使用缩写的重定向参数前缀时的开放式重定向漏洞。这些漏洞可使黑客取得网站服务器的“最高权限”,从而使企业服务器变成黑客手中的“肉鸡”。
心血漏洞的介绍
心血漏洞,是一种网络漏洞病毒名称,也叫心脏流血漏洞。这个名为Heartbleed的漏洞最早由谷歌研究员尼尔·梅塔(Neel Mehta)发现,它可从特定服务器上随机获取64k的工作日志,整个过程如同钓鱼,攻击可能一次次持续进行,大量敏感数据可能泄露。权威发布该漏洞信息的网站Heartbleed.com,目前已经详细发布了有关这一漏洞的原理以及修复方法。类似的互联网安全漏洞曾发生过一起。一个由JAVA Struts 2引发的漏洞出现,导致“用JAVA Struts 2的这个结构来开发的程序会面临被黑客入侵”。安全漏洞比较常见。业内出现过一个由JAVA Struts 2引发的漏洞出现,是一次由程序语言引发的漏洞事件,主要针对的也是电商网站,对银行造成了重大威胁。而这一次爆发的漏洞,之所以命名为”心血漏洞“或者“心脏出血漏洞“,根本原因是基本的安全通信方式出了问题。
关于struts2.0.0-struts2.3.15安全漏洞问题求教大神
可以安全软件排查
打开腾讯电脑管家——工具箱——修复漏洞
腾讯电脑管家的漏洞补丁全部是从微软获取的,而系统漏洞一直是黑客们感兴趣所在,他们可以根据漏洞信息制作可利用这些漏洞的病毒木马,并发布在网络上,或加入到网页代码中,你只要稍有不慎就会中招。而他们一般也会在微软发布漏洞信息的当天就会去查看,而且只需几小时便能制作出病毒木马。
如何检测struts代码执行漏洞
漏洞描述:
CVE-2013-225. Struts2 是第二代基于Model-View-Controller (MVC)模型的java企业级web应用框架。它是WebWork和Struts社区合并后的产物
Apache Struts2的action:、redirect:和redirectAction:前缀参数在实现其功能的过程中使用了Ognl表达式,并将用户通过URL提交的内容拼接入Ognl表达式中,从而造成攻击者可以通过构造恶意URL来执行任意Java代码,进而可执行任意命令
redirect:和redirectAction:此两项前缀为Struts默认开启功能,目前Struts 2.3.15.1以下版本均存在此漏洞
目前Apache Struts2已经在2.3.15.1中修补了这一漏洞。强烈建议Apache Struts2用户检查您是否受此问题影响,并尽快升级到最新版本
< 参考
1. http://struts.apache.org/release/2.3.x/docs/s2-016.html
>
测试方法:
@Sebug.net dis 本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
由于Apache Struts2 在最新修补版本2.3.15.1中已经禁用了重定向参数,因此只要重定向功能仍然有效,则说明受此漏洞影响:
http://host/struts2-showcase/employee/save.action?redirect:http://www.yahoo.com/
如果页面重定向到www.yahoo.com,则表明当前系统受此漏洞影响。
验证表达式解析和命令执行:
http://host/struts2-showcase/employee/save.action?redirect:%25{3*4}
http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}`
Sebug安全建议:
厂商状态:
厂商已经发布Apache Struts 2.3.15.1以修复此安全漏洞,建议Struts用户及时升级到最新版本。
厂商安全公告:S2-01. 链接:http://struts.apache.org/release/2.3.x/docs/s2-016.html
软件升级页面:http://struts.apache.org/download.cgi#struts23151
目前存在漏洞的公司
乌云上,已经发布了快60个struts的这个漏洞问题,包括腾讯,百度,网易,京东等国内各大互联网公司。(http://www.wooyun.org/bugs/new_submit/)
解决办法:
升级到Struts 2.3.15.1(强烈建议)
使用ServletFilter来过滤有问题的参数(临时替换方案)
参考资料:
这次struts爆出来的漏洞,一大片的网站受的影响,影响最严重的就是电商了.对于struts的漏洞,曾经也写过struts2代码执行漏洞,struts2自从使用OGNL表达式的方式后,经常就会报出一些可怕的漏洞出来,建议那些还是struts的童鞋们,学习一些其他的框架吧!比如,spring mvc,简单,好用,高效!
struts更新报错com.opensymphony.xwork2.ActionContext.get
总结原因有两种:1.jar包导入重复
2.json包版和struts本不一致
3.修改了tomcat里的context.xml文件,在context 元素下添加
struts报错 严重: Unable to find parent packages struts_default改怎么解决
copy。 粘贴
在控制台发生以下错误提示信息:
严重: Unable to find parent packages struts-default.xml
发生的原因:
1、你所引入的Struts2的包不完整
2、你所引入的包可能有版本之间的冲突,请确保你所引入的struts2包是同一版本
3、检查你在struts.xml中引入struts-default.xml文件时,是否录入正确
经过测试:在
中的
节点中要引入struts-default.xml,
如:
,也可以使用
,但是在
的属性extends中,如果你录入的是struts-default.xml即
...
,那么在console中会显示出
严重: Unable to find parent packages struts-default.xml
当你将.xml字符去掉,只是录入struts-default即可去掉该错误异常信息