Log4j2漏洞出现有大半年的时间了,这个核弹级别的漏洞危害很大,但是这个漏洞检测起来却很麻烦,因为黑盒测试无法预判网站哪个应用功能在后台调用了log4j2记录日志功能。目前通用的做法就是使用burpsuite插件进行被动扫描,原理就是把所有与用户交互参数都用各种log4j2检测payload测试一遍,然后观察DNSlog中有没有访问记录。这个漏洞检测方法和SQL注入、XSS漏洞有点像,常规方法很难完全发现漏洞,有时候就连研发人员自己也搞不清楚哪些应用功能点调用了log4j2,所以这个漏洞在相当长的时间里会一直存在。
在近几年的HW比赛、红队项目中,攻击队在外围打点时,越来越依赖于对Java站点的漏洞挖掘。Java站点的主流框架大致就是两个:Struts2系列(包括Webwork等)及Spring系列(包括Spring MVC、SpringBoot等)。很多攻击队员在查找网站漏洞时,由于无法判断出网站所使用的框架,对于.do结尾的网站上去就是用Struts2工具、Spring漏洞工具开扫,这样的做法效率极低,容易被WAF封禁IP,进而导致错过相关漏洞。
0x00 漏洞公告 请看https://cwiki.apache.org/confluence/display/WW/S2-045 这个漏洞应该后续会有官方详细分析。这里谈谈个人的理解,也分享下重现漏洞的思路。 首先,仔细阅读漏洞描述: Problem It is possible to perform a RCE attack with a malicious Content-Type value. If the Content-Type value isn't valid an exception i
17年三月份,Struts2再一次被爆出一个严重的漏洞S2-045,上传文件时可能存在RCE(Remote Code Execution)。由于涉及到的文件上传模块(Jakarta Multipart parser)是Struts2的默认配置,所以这一漏洞影响范围非常广泛。上一次影响范围如此大的漏洞是13年的s2-013。而且从Struts2的Security Bulletins列表中可以看到,remote command execution和Remote Code Execution这样的字眼经常出现,这篇博客在分析最近这次漏洞原理的基础上,也会探究一个重要的问题:为什么Struts2总是出现漏洞?
最近看了关于Struts2漏洞,参考文章 https://www.freebuf.com/vuls/168609.html,这篇文章里对Struts2的漏洞及原理进行了详细的讲解。自己也从网上找了个Struts Scan工具脚本。原作者用python2.x写的,下载地址 https://github.com/Lucifer1993/struts-scan ,里面有使用说明。我将里面的语法改为了python3.x,也可以网盘下载这个https://pan.baidu.com/s/1SsNlAGyBcSarI3Rist7xKQ 提取码:ultn
为了初步掌握 Struts2,我复现了 Struts2 框架中的漏洞系列。尽管网络上存在许多详细分析的文章,但亲自动手编写更有助于深入理解其中的逻辑。对于希望快速了解 Struts2 漏洞系列的读者,可以参考本文,其中已经省略了大部分类似的漏洞分析。此外,在撰写本文的结尾时,正好爆出了 CVE-2023-50164(即 S2-066),该漏洞也在文章末尾进行了分析。
战国末期,大秦实力强盛,大有横扫六合之势,在灭了韩、赵两国后,下一个目标就是燕国。
Struts2是一个用Java编写的开源MVC Web应用框架,Struts也是一个中间件,它可以连接不同的系统和服务。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5TlQx5IR-1626014278332)(C:/Users/zcc/AppData/Roaming/Typora/typora-user-images/image-20210708164156162.png)]
大家好,我是ABC_123。在2016年时,很多Java应用网站都是基于Struts2框架开发的,因而Struts2的各个版本的漏洞非常多,研发工具的初衷就是为了方便安全测试人员快速寻找Struts2漏洞。在后期更新过程中,ABC_123尽可能把这款工具写得简单易用,哪怕对Struts2漏洞完全不懂的新手,也能快速帮助企业找到Struts2漏洞并进行修复。
前情概要 漏洞年年有,最近特别多。2017年3月6日,Apache Struts2被曝存在远程命令执行漏洞,漏洞编号:S2-045,CVE编号:CVE-2017-5638,官方评级为高危,该漏洞是由于在使用基于Jakarta插件的文件上传功能条件下,恶意用户可以通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行任意系统命令,导致系统被黑客入侵。 漏洞分析请移步:https://yq.aliyun.com/articles/72008 建议 如果这个版本在Struts2.3.5 到
大家好,我是ABC_123。今天好多朋友给我发信息说,工具被人公布到某公众号提供下载了,还提倡加入qq群,好多人还误以为是我在提供下载,还误以为我与其他人进行合作啥的。。。(非ABC_123本人自愿的泄露事件)
看到网上关于struts2利用的文章非常多,但是对于漏洞触发跟踪分析的文档比较少,闲来无事跟踪了一
在2016年4月15号,安恒安全研究院在Struts 2上发现了一个严重的远程代码执行漏洞(CVE-2016-3081),并已给出详实分析及修复办法。这是自2013年Struts2(s2-016)命令执行漏洞大规模爆发之后,该服务时隔三年再次爆发大规模漏洞。该漏洞也是爆出的最严重安全漏洞。黑客利用该漏洞,可对企业服务器实施远程操作,从而导致数据泄露、远程主机被控、内网渗透等重大安全威胁。4月26日,Apache Struts2官方又发布安全公告:Apache Struts2 服务在开启动态方法调用的情况下可
工具地址https://github.com/Vancomycin-g/Struts2Scan/ 里面有两个工具,一个是python编写的工具,另一个是jar文件 python工具是改变大佬的。jar文件是在网络上找的。
image.png 推荐语 Struts2 是全球使用最广泛的 Javaweb 服务器框架之一。Struts2 是 Struts 的下一代产品,是在 struts1和 WebWork 的技术基础上进行了合并的全新的 Struts2 框架。 如果使用Struts2的web应用将用户提交的数据未经过滤,直接通过Struts2的标签设置成属性值,就被Struts2进行执行,具体的漏洞利用可以参考 Seebug 漏洞详情。 Struts2作为广泛应用的Web框架,安全问题一直层出不穷。为了保证安全,在业务处理中不
Apache Software Foundation 发布了一个安全公告 S2-062,以解决 Struts 2.0.0 到 2.5.29 版本中存在的一个远程代码执行漏洞;攻击者可以利用此漏洞来控制受影响的系统。对此,美国网络安全和基础设施安全局 (CISA) 也发布公告敦促组织查看 Apache 的公告,并尽快升级到最新的 Struts 2 补丁版本。 该漏洞被跟踪为 CVE-2021-31805,是由于 2020 年 CVE-2020-17530 (S2-061) 的不完整修复造成的。也就是说,这一漏洞早在 2020 年就已存在且当时被认为已修复,但事实证明问题并未完全得到解决。
3、判断 /struts/webconsole.html 是否存在来进行判断,需要 devMode 为 true。
近日,安恒信息安全研究院发现著名J2EE框架——Struts2存在远程代码执行的漏洞目前Struts官方已经确认漏洞(漏洞编号S2-045,CVE编号 :CVE-2017-5638),并定级为高危风险。 根据安恒安全研究院披露,该漏洞影响范围极广,影响国内外绝大多数使用Struts2开发框架的站点。受影响的软件版本:Struts 2.3.5 - Struts 2.3.31, Struts 2.5 - Struts 2.5.10 该漏洞危害程度极高,黑客可以利用该漏洞通过浏览器在远程服务器上执行任意系统命令,
近日,安恒信息安全研究院WEBIN实验室高级安全研究员nike.zheng发现著名J2EE框架Struts2中存在远程代码执行的严重漏洞。目前Struts2官方已经确认漏洞(漏洞编号S2-045,CVE编号:CVE-2017-5638),并定级为高危风险。 该漏洞影响范围极广,影响国内外绝大多数使用Struts2开发框架的站点。受影响的软件版本为:Struts 2.3.5 - Struts2.3.31, Struts 2.5 - Struts 2.5.10 攻击者可通过发送恶意构造的HTTP数据包利用该漏
altSyntax特性默认不开启,开启后,允许在文本串中注入OGNL表达式,且注入的表达式被逐层递归执行。攻击者可以在HTML中text域输入OGNL表达式,当form在服务器验证出错时,OGNL表达式被执行。
本次漏洞是对S2-059漏洞修复后的绕过。S2-059的修复补丁仅修复了沙盒绕过,但是并没有修复OGNL表达式的执行。但是在最新版本2.5.26版本中OGNL表达式的执行也修复了。
Versions Affected Struts 2.0.1 - Struts 2.3.33, Struts 2.5 - Struts 2.5.10 Description A possible Remote Code Execution attack when using an unintentional expression in Freemarker tag instead of string literals When using expression literals or forcing
struts2从开发出来到现在,很多互联网企业,公司,平台都在使用apache struts2系统来开发网站,以及应用系统,这几年来因为使用较多,被攻击者挖掘出来的struts2漏洞也越来越,从最一开始S2-001到现在的最新的s2-057漏洞,本文着重的给大家介绍一下struts2漏洞的利用详情以及漏洞修复办法。
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着非常大的变化,但是相对于WebWork,Struts 2的变化很小。
搜了好多两者相关的区别,感觉这个比较全面而且排版比较有规律,就选中了。最后会发出一些其他的链接可以参考对待。
0x01 说明: 由于struts2框架频繁爆出漏洞,为方便安全从业人员检测并及时修复,遂将struts历史版本payload整合在一起(ST2-005至ST2-048)。 0x02 检测原理: 执行
Struts2 S2-048 远程代码执行漏洞分析报告 安全通告 尊敬的客户: 2017年7月7日,Struts2官方公布最新的Struts2远程代码执行漏洞S2-048,在一定条件下,该漏洞允许攻击者远程执行代码。安恒信息应急响应中心启动“黄色”预警预案。 目前,安恒信息的WAF、玄武盾都已升级检测规则,可以有效防护该漏洞。网站安全监测平台、Web应用弱点扫描器、远程安全评估系统和等级保护安全检查工具箱也已升级,可以检测该漏洞,建议上述产品用户尽快将规则库升级到最新版本。 安恒信息已经开发出漏洞检查工具
大家好,我是ABC_123。在2016年时,很多Java编写的应用网站都是基于Struts2框架研发的,因而Struts2的各个版本的漏洞非常多,当时为了方便安全测试人员快速寻找Struts2漏洞,于是ABC_123尽可能把这款工具写的简单容易上手,哪怕对Struts2漏洞完全不懂的新手,也能快速找到Struts2漏洞并进行修复。
关于Struts2漏洞出现到现在,网上很多大佬已经发表过分析此系列漏洞的优秀文章。这些文献足以为我们了解struts漏洞提供足够的参考。但为什么还要写这篇文章呢,以个人观点认为,一是为分析漏洞做一个留存,俗话说好记性不如烂笔头。二是作为一个web安全研究者,在对漏洞的研究时不能单单是拿工具来一把梭。不仅要知其然,还要知其所以然。本文是笔者第一次分析struts2相关漏洞,撰写本文时尽管参考了多位师傅[1]的文章,但难免还是会有说明不到位的情况,如有不妥之处还请大佬们多多斧正。
S2-005是由于官方在修补S2-003不全面导致绕过补丁造成的。我们都知道访问Ognl的上下文对象必须要使用#符号,S2-003对#号进行过滤,但是没有考虑到unicode编码情况,导致\u0023或者8进制\43绕过。
S2-057漏洞,于2018年8月22日被曝出,该Struts2 057漏洞存在远程执行系统的命令,尤其使用linux系统,apache环境,影响范围较大,危害性较高,如果被攻击者利用直接提权到服务器管理员权限,网站数据被篡改,数据库被盗取都会发生。
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
首先在IDEA中搭建调试环境,File-New-Java Enterprise,选择Web Application:
安全通告 尊敬的客户: 2017年7月11日,Struts2官方公布最新的Struts2漏洞公告-编号S2-049。该漏洞公告中说明:在一定条件下该漏洞可造成拒绝服务。安恒信息应急响应中心已启动“黄色”预警预案。 安恒信息应急响应中心将对该漏洞进行持续关注,并第一时间为您更新相关漏洞信息。 安恒信息应急响应中心 2017年7月12日 漏洞信息 漏洞描述 Struts2是Apache软件基金会负责维护的一个基于MVC设计模式的Web应用框架开源项目。 当开发人员在Struts框架中使用Spring AOP例如
每次 Apache Struts2 漏洞爆发都在互联网上掀起腥风血雨,我们整理了近年来 Apache Struts2 高风险漏洞的信息供大家参考。针对此次 Apache Struts2 的漏洞,绿盟科
Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web 应用的开源MVC框架,主要提供两个版本框架产品: Struts 1和Struts 2。 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。
java源代码审计相关资料一直比较少,今天抽空给大家写一篇简单的开源代码审计,这是个做公司网站的开源模板,由于项目比较小,本次就针对几个比较严重的漏洞讲解一下发现的过程,其它的一些小漏洞,包括XSS一类的就不写了,希望给大家学习帮助。
根据官方漏洞描述,Struts2 REST插件在使用XStreamHandler反序列化XStream实例的时候没有对类进行任何限制,导致将xml数据转换成Object时产生远程代码执行漏洞(RCE)。同时,官方的解决方案是将Struts2的版本升级至2.5.13 或 2.3.34,那么先对比一下官方的版本升级代码,发现struts-2.5-2.13\src\plugins\rest\src\main\java\org\apache\struts2\rest\handler\XStreamHandler.java对类进行了一些白名单处理。
这里摘自互联网上的一段解释:Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。很多年前Struts2 + Spring + Hibernate 三大框架一起组成了 “SSH”,但现在正在被Spring + Spring MVC/ Spring Boot + MyBatis新三剑客“SSM”所代替,具体原因出来性能方面的提高,还要就是struct2的漏洞实在是太多,像国内BAT都被坑了一波,更别说ZF机关。所有struct2被大家抛弃也是情理之中的事情。
Struts2对S2-003的修复方法是禁止#号,于是s2-005通过使用编码\u0023或\43来绕过;后来Struts2对S2-005的修复方法是禁止\等特殊符号,使用户不能提交反斜线。
Apache Struts 2是用于开发JavaEE Web应用程序的开源Web应用框架。Apache Struts 2.0.0至2.3.14.2版本中存在远程命令执行漏洞。远程攻击者可借助带有‘${}’和‘%{}’序列值(可导致判断OGNL代码两次)的请求,利用该漏洞执行任意OGNL代码。
Shiro550漏洞原理是Shiro框架提供了一种记住密码(Rememberme)的功能,用户登录成功后会生成经过加密的Cookie值,对Remembe的Cookie进行AES解密、Base64解密后再反序列化,就导致了反序列化RCE漏洞 。 Shiro<1.2.4版本,其使用的密钥为固定密钥Shiro550kPH+bIxk5D2deZiIxcaaaA==,这就更容易导致RCE漏洞
Python中文社区专栏作者:囧囧男 1.起因 最近挖矿木马很流行,又遇到struts2漏洞。 把当时的情况给大家分享一下: 2.处理过程 查看服务: 查看服务硬件: 显示为VMware的虚拟机
糖豆贴心提醒,本文阅读时间8分钟 1.起因 最近挖矿木马很流行,又遇到struts2漏洞。 把当时的情况给大家分享一下: 2.处理过程 查看服务: 查看服务硬件: 显示为VMware的虚拟机 看进程: 原有的进程实在太多,所以我就删减了一部分,只留下了有用的。 查看网络监听: 除了zabbix_agentd, nagios nrpe 和 mfsmount ,sshd 其他都是java业务进程监听端口。 查看可疑进程: 服务登陆记录: 服务登录记录: sshd在线情
ApacheStruts 2是世界上最流行的Java Web服务器框架之一。不久之前,安恒信息风暴中心安全研究员在Struts 2上发现了一枚远程代码执行漏洞,受影响版本Struts 2.0.0 –
14年Struts2报出Struts2的漏洞(2.0.0<=version<=2.3.15),
最近在研究一些Java相关的问题时候,虽然有能力读java的代码,但是从没深入了解过Java的我不免总是在各种只有Java上才有的特性上栽坑,于是忽然觉得可能需要了解一些java的漏洞,本篇文章没有太多干货,主要是自己在研究过程中的一些记录吧。
昨日,著名Java Web框架Struts官方再发高危安全漏洞补丁升级(最新版本为:2.3.15.1),升级修补了多个安全漏洞,其中包括一个远程任意代码的高危安全漏洞,这些漏洞可以影响到Struts 2.0.0 – Struts 2.3.15的所有版本。攻击者可以利用该漏洞,执行恶意Java代码,最终导致网站数据被窃取、网页被篡改等严重后果。基于Struts2使用广泛,目前很多网站还没有升级,另外我们注意到针对该漏洞的攻击代码已出现。
领取专属 10元无门槛券
手把手带您无忧上云