记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

从防护角度看Struts2历史漏洞

一、前言 Struts2漏洞是一个经典的漏洞系列,根源在于Struts2引入了OGNL表达式使得框架具有灵活的动态性。随着整体框架的补丁完善,现在想挖掘新的Struts2漏洞会比以前困难很多,从实际了解的情况来看,大部分用户早就修复了历史的高危漏洞。目前在做渗透测试时,Struts2漏洞主要也是碰碰运气,或者是打到内网之后用来攻击没打补丁的系统会比较有效。 网上的分析文章主要从攻击利用的角度来分析这些Struts2漏洞。作为新华三攻防团队,我们的一部分工作是维护ips产品的规则库,今天回顾一下这个系列的漏洞,给大家分享一些防护者的思路,如果有遗漏或者错误,欢迎各位大佬指正。 二、Struts2历史漏洞 研究Struts2的历史漏洞,一部分原因为了review以前的ips、
发布时间:2020-03-04 17:32 | 阅读:8491 | 评论:0 | 标签:WEB安全 漏洞 ognl Struts2

Struts 2 漏洞系列之 S2-001

漏洞原理     Struts 2 框架的表单验证机制( Validation )主要依赖于两个拦截器:validation 和 workflow。     validation 拦截器工作时,会根据 XML 配置文件来创建一个验证错误列表;workflow 拦截器工作时,会根据 validation 拦截器所提供的验证错误列表,来检查当前所提交的表单是否存在验证错误。     在默认配置下,如果 workflow 拦截器检测到用户所提交的表单存在任何一个验证错误,workflow 拦截器都会将用户的输入进行解析处理,随即返回并显示处理结果。     那么问题出在哪里呢?我们再来了解 Struts 2 框架中的一个标签处理功能: altSyntax。      altSyntax 功能是 Struts 2 框架
发布时间:2017-12-08 06:20 | 阅读:117080 | 评论:0 | 标签:专栏 Struts2 漏洞

【万年漏洞王】Struts2受影响情况数据报告

Apache Struts2 作为世界上最流行的 Java Web 服务器框架之一,3月7日带来了本年度第一个高危漏洞—— CVE 编号 CVE-2017-5638。 其原因是由于 ApacheStruts2 的 Jakarta Multipart parser 插件存在远程代码执行漏洞,攻击者可以在使用该插件上传文件时,修改 HTTP 请求头中的 Content-Type 值来触发该漏洞,导致远程执行代码。 Struts 作为一个“世界级”开源架构,它的一个高危漏洞危害有多大,下面两张图可以让大家对这个漏洞的影响范围有一个直观认识。 全球互联网上开放的Apache Struts分布 中国互联网上开放的 Apache Struts 分布  数据来源:绿盟科技威胁情报中心 NTI 从3月7日漏洞曝出到3月9日
发布时间:2017-06-06 18:40 | 阅读:128413 | 评论:0 | 标签:漏洞分析 Struts2 高危漏洞 漏洞

Struts2-045漏洞批量扫描工具

一个 Struts2-045漏洞批量扫描工具 https://github.com/lijiejie/struts2_045_scan Requirements pip install requests Usage usage: scan.py [options] Struts2-045 Scanner. By LiJieJie (http://www.lijiejie.com) optional arguments: -h, --help show this help message and exit -f File New line delimited targets from File -t THREADS Num of scan threads, 100 by
发布时间:2017-04-07 19:55 | 阅读:301409 | 评论:0 | 标签:安全 struts2 扫描 漏洞

深度剖析Struts2远程代码执行漏洞(CVE-2017-5638)

三月初,安全研究人员发现世界上最流行的JavaWeb服务器框架之一– Apache Struts2存在远程代码执行的漏洞,Struts2官方已经确认该漏洞(S2-046,CVE编号为:CVE-2017-5638)风险等级为高危漏洞。漏洞描述该漏洞是由于上传功能的异常处理函数没有正确处理用户输入的错误信息,导致远程攻击者可通过修改HTTP请求头中的Content-Type值,构造发送恶意的数据包,利用该漏洞进而在受影响服务器上执行任意系统命令。 漏洞利用条件和方式黑客通过Jakarta 文件上传插件实现远程利用该漏洞执行代码。漏洞影响范围Struts 2.3.5 - Struts 2.3.31Struts 2.5 - St
发布时间:2017-04-06 23:20 | 阅读:150481 | 评论:0 | 标签:web安全 技术 Struts2 远程代码执行漏洞 漏洞

Struts2漏洞的前因后果

Apache Struts2 作为世界上最流行的 Java Web 服务器框架之一,近期被爆出两大高危漏洞:S2-045(CVE-2017-5638)和S2-046(CVE-2017-5638)。消息公布后,在互联网界引起了轩然大波。 黑客可通过漏洞远程代码执行 其中编号为CVE-2017-5638的漏洞(S2-045),是基于Jakarta plugin插件的Struts远程代码执行漏洞。该漏洞会造成RCE远程代码执行,恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令,可直接造成系统被控制。黑客通过Jakarta文件上传插件实现远程利用该漏洞执行代码。编号为S2-046的漏洞则是攻击者可通过Content-Length或者Content-Disposit
发布时间:2017-03-31 23:55 | 阅读:170180 | 评论:0 | 标签:威胁情报 struts2 安全漏洞 漏洞

【实验】如何本地搭建Struts2框架对S2-045漏洞进行利用

一:搭建struts2 1.整个工程架构图: 2.所需要的jar包,注意struts2的包要在Struts 2.3.5 – Struts 2.3.31, Struts 2.5 – Struts 2.5.10之间选择 3.UploadAction.java: 4.struts.xml文件: 5.index.jsp文件 6.web.xml文件 部署工程然后执行,本地测试工程可以正常上传照片后进行漏洞利用 二:漏洞利用以及遇到的错误解决 1.漏洞利用工具“Struts2_045-Poc-master”下载地址: https://github.com/tengzhangchao/Struts2_045-Poc 2.解压缩,在文件中打开命令行窗口执行命令: python s2_045
发布时间:2017-03-28 19:50 | 阅读:191817 | 评论:0 | 标签:WEB安全 S2-045 Struts2 漏洞

【漏洞预警】Apache Struts2再曝远程代码执行漏洞(S2-046 附PoC)

Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架。 本月初,Strust2漏洞爆出一个RCE远程代码执行漏洞(S2-045)可致远程代码执行。而时隔两周,又出现一个相似的远程代码执行漏洞。 漏洞编号 CVE-2017-5638 漏洞简介 使用恶意的Content-Disposition值或者使用不合适的Content-Length头就可能导致远程命令执行。该漏洞与S2-045 (CVE-2017-5638)相似,但使用了不同的攻击向量。 触发漏洞需要满足的条件: JakartaStreamMultipartRequest已开启。也就是说,Struts2需要通过Jakarta stre
发布时间:2017-03-21 19:30 | 阅读:141410 | 评论:0 | 标签:漏洞 apache s2-046 Struts2

从数据包视角解析新型Struts2漏洞攻击全过程

万年漏洞王 Struts2作为世界上最流行的 Java Web 服务器框架之一,已经被炒得沸沸扬扬,其原因是由于 Apache Struts2 的 Jakarta Multipart parser 插件存在远程代码执行漏洞,攻击者可以在使用该插件上传文件时,修改 HTTP 请求头中的 Content-Type 值来触发该漏洞,导致远程执行代码。 新的漏洞出现,必然会存在漏洞利用的情况,如果在没有升级和打补丁的情况下已被攻击,即使漏洞得到修复仍有潜在风险,那么如何判断是否已经被攻击了呢?本文通过数据包视角,基于网络回溯分析技术,针对最近新型Struts2漏洞攻击行为典型事件进行深层解析,打破传统思维模式,提供解决未知问题的新思路。 1. 问题描述 科来针对本次struts2漏洞为用户进行网络安全分析服务,在与某
发布时间:2017-03-15 20:40 | 阅读:176003 | 评论:0 | 标签:威胁情报 struts2 安全漏洞 网络回溯分析 漏洞

Apache Struts远程命令执行(RCE)漏洞总结

前言 自2010年以来,已公布的Apache Struts漏洞一共68个。 Struts是用于构建Web应用程序开源框架。虽然所有这些都通过补丁进行了缓解,但黑客仍然不断利用这些漏洞来发起攻击。 最常被利用的Apache Struts漏洞被称为远程代码执行(RCE),它允许攻击者通过运行任意恶意代码来接管服务器。在这68个已发布的Apache Struts漏洞中,其中12个漏洞是因为可以执行对象图导航语言(OGNL)。 在研究人员超过三个月的分析数据,并记录4万多次针对Apache Struts漏洞的攻击。在这篇博客中,我们来了解使用Apache Struts漏洞在受攻击的服务器上远程执行OGNL代码的RCE攻击。 Apache Struts漏洞 在我们的攻击数据的分析中,我们发现四个主要的Apache Str
发布时间:2017-01-11 11:20 | 阅读:198974 | 评论:0 | 标签:漏洞分析 apache Struts Struts2 漏洞

Struts2 Webconsole.html页面Ognl调试利用

OGNL Console Struts2的开发者模式相信很多Struts2的开发人员都很熟悉了,在这种模式中,如果你发出一个HTTP请求,会生成冗余的日志,资源重新加载,避免我们每次改变属性、校验器或者其他东西后都需要重启服务器。 Struts2 Webconsole.html 页面暴露到底是不是漏洞? 参考:Struts2的webconsole.html(OGNL console)利用 结论 这是调试功能,只有在调试模式下才能使用。 struts/webconsole.html的调试功能只有在启用了调试参数的情况下才会生效,否则即使看到此页面,也不具有调试的功能。 只有在开启了Debug模式且ClassPath中使用了struts2- dojo-plugin-*.jar的情况下,webconsole.htm
发布时间:2016-12-17 08:25 | 阅读:446156 | 评论:0 | 标签:Web安全 Ognl调试利用 Struts2 webconsole.html Webconsole.html页面利用

如何利用Struts2的webconsole.html

近来,随着Struts2漏洞接二连三地被披露,企业对Struts2的心理安全指数 也在降低,很多企业或者安全从业人员,在日常的安全检测或者扫描过程中有点草木皆兵,如果发现了webconsole.html页面,则判断系统存在 Struts2漏洞,要求各个厂商做对应的安全整改。那么出现webconsole.html页面到底是不是Struts2的安全漏洞呢? 首先,我们来看看Struts2框架中为什么会存在webconsole.html。 在Struts的官网的Debuggin页面中,有如下一段话: The Debugging Interceptor provides three debugging modes to provide insight into the data behind the page. The
发布时间:2016-07-06 09:20 | 阅读:273112 | 评论:0 | 标签:Web安全 Ognl表达式 struts.devMode struts2 struts2-dojo-plugin-.ja

Struts2 最新漏洞S037分析!

AT: PKAV-香草 无声说安全 发现struts2又出了新漏洞S2-033 官方的的意思是说如果使用了REST插件并且开启了动态方法执行 但是经过研究发现,其实并不需要开启动态方法执行,因此可以通杀所有安装了REST的struts2,包括官方认为不存在漏洞的 Struts 2.3.20.3, 2.3.24.3 and 2.3.28.1 。官方认为的s033的POC是这样的: http://127.0.0.1:8888/struts2-rest-showcase/orders/3!%23_memberAccess%3D%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,@java.lang.Runtime@getRuntime().exec(%23param
发布时间:2016-06-17 00:55 | 阅读:102979 | 评论:0 | 标签:JSP Others s037 Struts2 漏洞

解密:Struts2漏洞及其补丁漏洞“曝光”纪实

还记得4月15号,安恒信息在Struts 2上发现了一个严重的远程代码执行漏洞(CVE-2016-3081),并已给出详实分析及修复办法。随后,Apache Struts2官方又发布安全公告:Apache Struts2 服务在开启动态方法调用的情况下可以远程执行任意命令。 这是自2013年Struts2(s2-016)命令执行漏洞大规模爆发之后,该服务时隔三年再次爆发大规模漏洞。该漏洞也是爆出的最严重安全漏洞。黑客利用该漏洞,可对企业服务器实施远程操作,从而导致数据泄露、远程主机被控、内网渗透等重大安全威胁。 而一个漏洞的应对,从发现到解决绝非一蹴而就。在6月3日,据悉安恒信息对Struts2 S2-033漏洞分析发现:最新高危漏洞官方修复方案无效。当安恒信息工程师在分析github上的修复的版本S
发布时间:2016-06-08 07:10 | 阅读:101732 | 评论:0 | 标签:厂商供稿 struts2 漏洞

Apache Struts 2 S2-032远程命令执行漏洞 自查与修复

Apache Struts 2 漏洞又来了…看看你所在的企业是否受到影响? 乌云导读 Apache Struts2 服务在开启动态方法调用的情况下可以远程执行任意命令,漏洞利用代码已经开始流传。 今日Apache Struts2官方发布安全公告,Apache Struts2 服务在开启动态方法调用的情况下可以远程执行任意命令,官方编号 S2-032,CVE编号 CVE-2016-3081,具体请见: S2-032 Security Bulletins 。 漏洞测试样例(无风险): http://d047ab33ccbe2dda8.jie.sangebaimao.com/struts2-showcase/filedownload/index.action?method:%23_memberAccess
发布时间:2016-04-27 18:50 | 阅读:228511 | 评论:0 | 标签:技术 apache CVE S2-032 struts2 漏洞

s2-029 Struts2 标签远程代码执行分析

0x00 标签介绍 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。 Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。包括最常用的jsp页面,也可以说Velocity和FreeMarker等模板技术中的使用。 0x01 漏洞分析 s2-029没有漏洞细节,但通过分析源码已重现漏洞。多个标签存在问题,在i18n,text等标签(可能还存在其他标签)的name属性处理的时候会经过两次ognl执行,从而导致远程代码执行。 标
发布时间:2016-04-27 18:20 | 阅读:133840 | 评论:0 | 标签:0day/Exp 黑客 s2-029 Struts2 标签远程代码执行

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云