首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Apache Struts2 Remote Code Execution (S2-053)

    s.hidden name="redirectUri" value=redirectUri /> s.hidden name="redirectUri" value="${redirectUri...}" /> s.hidden name="${redirectUri}"/> 根据官方表述该漏洞主要是Freemarker模板语言的一个特性,被开发人员错误利用导致因传入ognl表达式而造成RCE...的风险,所以再结合官方给出的错误编码示例,很容易猜测到这个漏洞首先是一个安全编码导致的问题,而非struts2通杀漏洞,因此官方对该漏洞的风险定级为中危。...,不过作为struts2的ognl表达式执行漏洞学习案例还是不错的,很直接!...先看\org\apache\struts2\views\freemarker\ScopesHashModel.class,Struts2 Action get从前台获取到参数内容后,会先获得用户提交的参数名

    73930

    Struts2 连载系列:S2-001漏洞分析

    Why do this 关于Struts2漏洞出现到现在,网上很多大佬已经发表过分析此系列漏洞的优秀文章。这些文献足以为我们了解struts漏洞提供足够的参考。...本文是笔者第一次分析struts2相关漏洞,撰写本文时尽管参考了多位师傅[1]的文章,但难免还是会有说明不到位的情况,如有不妥之处还请大佬们多多斧正。...在开启时,支持对标签中的 OGNL 表达式进行解析并执行[struts2标签解析主要依赖于xwork2,可以理解为xwork2的漏洞],攻击者通过使用 %{} 包裹恶意表达式的方式,将参数传递给应用程序...随后将下载的struts2包解压到自己能找到的路径 ? 最后填写项目名称和项目路径即可,项目创建完成后。我们需要编写一个测试用例以便后面分析调试使用。...最后调用proxy的execut方法 接下来struts2会加载一系列的拦截器,其中我们需要重点关注的是ParametersInterceptor,此拦截器负责接收我们传入的参数。

    1.2K50

    Apache Struts2 Remote Code Execution (S2-045)

    可以了解到的是该漏洞利用点为文件上传http请求头中的Content-Type,Struts2在处理错误信息时出现问题,可以在此处注入OGNL表达式造成RCE。...struts2默认使用Jakarta的common-fileupload文件上传框架(在struts2-core.jar中default.properties中可见struts.multipart.parser...Code Review code review struts2 2.3.24 从Struts2的入口来分析,StrutsPrepareAndExecuteFilter 是struts2默认配置的入口过滤器...or %s stream, content type header is %s", new Object[] { "multipart/form-data", "multipart/mixed", contentType...的jar包替换原jar文件进行升级,有三个包必须要升级(升级前备份原版本jar包): Struts2-core-2.3.32.jar:struts2核心包,也是此漏洞发生的所在; xwork-core

    1.2K30

    Apache Struts2 Remote Code Execution (S2-046)

    -046这个漏洞其实和s2-045漏洞触发的本质是一样的,都使用了同一个异常处理方法,且异常信息中含有ognl表达式导致命令执行,而不同的则是触发异常的点不同而已,s2-045的异常触发是由于content-type...中存在无法解析的内容,而s2-046则由content-length过大和上传文件名不合规造成,接下来我们分别对这两种情况进行分析。...---- 异常触发点一 说到这个触发点的时候是老泪纵横的,s2-045漏洞爆出来后对漏洞进行分析时我是意识到以上所说的结论的,所以就去寻找了解析过程中哪里还有可能会触发异常,当然已经知道content-type...直到s2-046爆出来后,惊奇的看到由于content-length过大触发异常,而ognl通过Content-Disposition中的filename传入的(一脸懵逼状),而且struts.multipart.parser...不得不吐槽一下struts2在处理上传这块的问题真多,buildErrorMessage无处不在啊,只要有个异常都会是他来处理,懵逼呢~ ---- Solution 直接使用最新版struts2的jar

    68830

    Struts2第一天Struts2的概述,Struts2的入门,Struts2常见的配置、Struts2的Action的编写

    1.Struts2框架的学习路线 l 第一天:Struts2的概述、Struts2的入门、Struts2常见的配置、Struts2的Action的编写 l 第二天:Struts2的数据的封装、结果页面配置...l 第三天:Struts2的值栈和OGNL表达式 l 第四天:Struts2的标签库 2.Struts2的概述 2.1什么是Struts2 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个...l Struts2是一个基于MVC设计模式的WEB层框架。 n Struts2的内核相对于Struts1来讲已经发生巨大变化。...3.Struts2的入门 3.1下载Struts2的开发环境 下载地址:http://struts.apache.org/ 3.2解压Struts2开发包 ?...save.action">保存客户 源码地址: 链接: https://pan.baidu.com/s/1hyn9jUKba_Hw51a3RhLY1g提取码: wgug 复制这段内容后打开百度网盘手机

    83851

    关于K8s中Pod调度方式和节点标记的Demo

    标记 节点的taint(污点)标记及pod的容忍污点(tolerations)定义 食用方式: 需要了解K8s基础知识 熟悉资源对象pod,deploy的创建,了解资源对象定义yaml文件 了解kubectl...DoesNotExists 不存在该标签的节点 节点的coedon与drain 「如果想把某个节点设置为不可用的话,可以对节点实施cordon或者drain」 如果一个node被标记为cordon,新创建的...pod不会被调度到此node上,已经调度上去的不会被移走,coedon用于节点的维护,当不希望再节点分配pod,那么可以使用coedon把节点标记为不可调度。...#取消标记 「通过cordon把vms83.liruilongs.github.io标记为不可调度」 ┌──[root@vms81.liruilongs.github.io]-[~/ansible/...] └─$ 设置operator的值为Exists 「如果使用Exists的话,那么pod中不能写value」 「设置 vms83.liruilongs.github.io 节点污点标记,value为空

    1.2K20

    Struts2 S2-020在Tomcat 8下的命令执行分析

    作者 yiran4827 Struts S2-020这个通告已经公布有一段时间了。目前大家都知道这个漏洞可以造成DOS、文件下载等危害,相信各大厂商也已经采取了相应的安全措施。...1.属性列举 这个漏洞分析的一个难点在于:通过ognl的class.xx这种方式来遍历属性时,得到的是实际运行环境中的动态class,因此仅作静态分析是很困难的。...org.apache.catalina.valves.AccessLogValve"directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t"%r" %s...3.后记 这个POC距离实际的攻击还有一定的距离,发表此文仅供技术研究使用,请勿用于实际攻击。另外,也许还有其他的利用方式,Tomcat 8下那么多的可操控的属性,或许有别的也可以RCE?...其他的容器下,是否也有这么多的可操控属性呢?欢迎感兴趣的同学与我们BSRC的同学讨论。 [via sec.baidu.com 作者:neobyte]

    6.8K90

    漏洞复现 - - -Struts2(s2-045)远程命令执行漏洞

    一,Struts2是什么 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互...二,s2-045漏洞形成分析 CVE编号:CVE- 2017- 5638 POST请求发送数据 功能:获取WEB路径,任意命令执行,反弹shell和文件上传  首先,我们先对比一下修复前与修复后的版本...,点击start等待比较完成  比较完发现共有57处不同,点击.xml发现只是修改了版本号,发现又三个比较长的.java文件  随机点击一个发现已经标记好不同的位置  寻找新版本这个文件的路径... 发现在这调用了ognl的方法,这就是漏洞形成的原因  三,s2-045漏洞复现 Struts2漏洞利用扫描工具及其环境 Structs2高危漏洞exp的扫描利用工具(2018) 链接:https:...  提取码:5b1r   部署s2-045漏洞环境 cd vulhub-master   cd struts2  cd s2-045 docker-compose up

    1.8K20

    Struts2 S2-049 拒绝服务漏洞分析报告

    安全通告 尊敬的客户: 2017年7月11日,Struts2官方公布最新的Struts2漏洞公告-编号S2-049。该漏洞公告中说明:在一定条件下该漏洞可造成拒绝服务。...安恒信息应急响应中心 2017年7月12日 漏洞信息 漏洞描述 Struts2是Apache软件基金会负责维护的一个基于MVC设计模式的Web应用框架开源项目。...但是Struts2调用Spring Security AOP代理生成的Action,经过ParametersInterceptor拦截器的时候可以设置被代理的Action的属性。...安恒APT(网络战)通报预警平台支持对Struts2 S2-049远程拒绝服务漏洞的检测。...连接云端的APT设备会自动更新策略,未连接云端的APT设备可从百度云盘上下载最新更新包手工更新: 云盘链接 http://pan.baidu.com/s/1hsQQIuK 密码 qnu7 安恒WAF

    91350

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

    >>>> 标签介绍 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。...Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。...Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。...包括最常用的jsp页面,也可以说Velocity和FreeMarker等模板技术中的使用。 >>>> 漏洞分析 s2-029没有漏洞细节,但通过分析源码已重现漏洞。...标签使用如下所示: s:i18n name="%{#request.lan}">xxxxxs:i18n> s:text name="%{#request.lan}">xxxxxs:text>

    1K60
    领券