Struct 2
文章平均质量分 96
Struct 2
FLy_鹏程万里
国内网络安全研究员,专注于Web渗透、移动安全、代码审计、应急响应、内网渗透、区块链安全、云安全等研究方向,擅长渗透测试、红蓝对抗、内网渗透、云安全、区块链安全。
展开
-
Struts2中的OGNL表达式
浅析值栈ValueStack对象相当于一个栈,它贯穿整个Action的生命周期,每个Action类的对象实例都会拥有一个ValueStack对象。当Struts2接收到一个*.action请求后,并不是直接调用Action方法,而是先将Action类的相应属性放到ValueStack对象的顶层节点,值栈也位于内存中,它也是和parameters、request、session、applicat...原创 2018-04-12 20:33:28 · 594 阅读 · 0 评论 -
S2-052 远程代码执行漏洞检测与利用
调试环境搭建使用官方的rest-sample即可,下载2.5.12版本的源码https://github.com/apache/struts/archive/STRUTS_2_5_12.zip,然后将apps下面的rest-showcase源码脱下来。Eclipse中新建一个maven工程,web.xml,pom.xml和struts.xml如下:pom.xml<!-- s...转载 2018-12-16 14:50:26 · 1786 阅读 · 0 评论 -
S2-048 远程代码执行漏洞检测与利用
漏洞背景Apache的Struts2是一个优雅的,可扩展的开源MVC框架,主要用于创建企业级的Java Web应用程序。在Struts 2.3.X系列的Showcase插件中演示Struts2整合Struts 1的插件中存在一处任意代码执行漏洞。当你的Web应用使用了 Struts 2 Struts 1插件, 则可能导致Struts2执行由外部输入的恶意攻击代码。漏洞影响Apache ...转载 2018-12-16 14:41:23 · 686 阅读 · 0 评论 -
S2-037 远程代码执行漏洞检测与利用
struts2 s2-037远程代码执行漏洞介绍S2-037的漏洞利用思路建立在s2-033的基础只上,还是对method没有进行过滤导致的,漏洞影响Struts 2.3.20 – Struts 2.3.28.1版本,使用到REST插件的Struts2应用,会被攻击者实现远程代码执行攻击,struts2 历次的漏洞公告和详情官方都有专门的页面进行整理和汇总,可以从这个页面找到历次的struts...转载 2018-12-16 14:28:04 · 1135 阅读 · 0 评论 -
S2-032 远程代码执行漏洞检测与利用
什么是STRUTS 2漏洞?Struts 是Apache软件基金会(ASF)赞助的一个开源项目,通过采用JavaServlet/JSP技术,实现基于Java EEWeb应用的MVC设计模式的应用框架,Struts 2是Struts的下一代产品,是在 Struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。Struts2框架广泛应用于政府、公安、交通、金融行业和运...转载 2018-12-16 14:18:35 · 1155 阅读 · 0 评论 -
S2-029 远程代码执行漏洞检测与利用
概述struts2 029漏洞已经爆出一段时间,网上有一些相关分析,首先,漏洞确定是出现在OGNL解释执行的过程,具体漏洞测试poc网上已经有很多,我在2.2.1、2.3.24.1、2.3.25、2.5beta3、2.3.26上面测试都可以执行,不过修改的安全参数稍微不同。2.2.1只需要下面几个:#_memberAccess['allowPrivateAccess']=true#...转载 2018-12-16 14:05:53 · 1423 阅读 · 0 评论 -
S2-016远程代码执行漏洞检测与利用
概述S2-016是13年7月爆出的,那时候的我还没涉及Web安全研究。这次迟到的分析也算是对过去的补充。这个漏洞影响了Struts 2.3.15.1之前的所有版本。问题主要出在对于特殊URL处理中,redirect与redirectAction后面跟上Ognl表达式会被服务器执行。漏洞分析分析开源框架的漏洞还是从其源码入手,问题出在了DefaultActiionMapper上,这个类主...转载 2018-12-16 13:44:02 · 3127 阅读 · 0 评论 -
S2-013 远程代码执行漏洞检测与利用
前言S2-014是对于S2-013修复不完整的造成的漏洞,会在漏洞分析中提到,所以文本的主要分析的还是S2-013而且在分析的时候,发现参考网上资料时对于漏洞触发逻辑的一些错误 至少目前我自己是那么认为的:)漏洞环境根据vulhub修改而来,环境地址 https://github.com/kingkaki/Struts2-Vulenv,感兴趣的师傅可以一起分析下若有疏漏,还望多多指...转载 2018-12-16 13:26:18 · 2687 阅读 · 0 评论 -
S2-012 远程代码执行漏洞检测与利用
前言漏洞环境改自vulhub的,环境地址 https://github.com/kingkaki/Struts2-Vulenv/tree/master/S2-012漏洞信息https://cwiki.apache.org/confluence/display/WW/S2-012当发生重定向时,OGNL表达式会进行二次评估,导致之前在S2-003、S2-005、S2-009进...转载 2018-12-14 14:11:03 · 3039 阅读 · 0 评论 -
S2-008 &S2-009 远程代码执行漏洞检测与利用
前言漏洞环境改自vulhub https://github.com/kingkaki/Struts2-VulenvS2-008漏洞信息https://cwiki.apache.org/confluence/display/WW/S2-008主要是利用对传入参数没有严格限制,导致多个地方可以执行恶意代码第一种情况其实就是S2-007,在异常处理时的OGNL执行第二...转载 2018-12-14 13:05:01 · 4195 阅读 · 1 评论 -
S2-007 远程代码执行漏洞检测与利用
漏洞原理如下age来自于用户输入,传递一个非整数给id导致错误,struts会将用户的输入当作ongl表达式执行,从而导致了漏洞。POCa.获取tomcat执行路径:%{"tomcatBinDir{"+@java.lang.System@getProperty("user.dir")+"}"}b、获取web路径%{#req=@org.apache.struts2...原创 2018-12-14 12:53:56 · 1359 阅读 · 0 评论 -
S2-005 远程代码执行漏洞检测与利用
漏洞信息漏洞信息页面: https://cwiki.apache.org/confluence/display/WW/S2-005漏洞成因官方概述:XWork ParameterInterceptors bypass allows remote command execution漏洞影响:漏洞分析S2-005是由于官方在修补S2-003不全面导致绕过补丁造成的。我们都知道访...原创 2018-12-14 11:44:09 · 2716 阅读 · 0 评论 -
S2-003 远程代码执行漏洞
漏洞信息漏洞信息页面: https://cwiki.apache.org/confluence/display/WW/S2-003漏洞成因官方概述:XWork ParameterInterceptors bypass allows OGNL statement execution漏洞影响:环境搭建s2-003漏洞的payload用到了特殊字符,在高版本tomcat中会失败,...转载 2018-12-14 11:18:23 · 1327 阅读 · 0 评论 -
S2-001 远程代码执行漏洞
漏洞原理该漏洞因为用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用 OGNL 表达式 %{value} 进行解析,然后重新填充到对应的表单数据中。例如:当你提交的登录表单为username=admin&password=%{1+1}时,后端验证登录失败后会返回登录界面并显示你的输入,这时password字段中的OGNL表达式已经被解析处理过了,所以会显示%{1+1}的...原创 2018-12-14 10:42:51 · 913 阅读 · 0 评论 -
Struts2 devMode远程代码执行漏洞检测利用
Apache Struts 2是世界上最流行的Java Web服务器框架之一,当Struts2开启devMode模式时,将导致严重远程代码执行漏洞。如果WebService 启动权限为最高权限时,可远程执行任意命令,包括关机、建立新用户、以及删除服务器上所有文件等等。什么是devMode?所谓的devMode模式,看名称也知道,是为Struts2开发人员调试程序准备的,在此模式下可...原创 2018-12-14 10:18:17 · 2567 阅读 · 0 评论 -
S2-057远程代码执行漏洞检测与利用
Apache wiki更新了一个Struts2的远程代码执行漏洞(S2-057),漏洞威胁等级为高危,漏洞对应的CVE编号为CVE-2018-11776。 定义XML配置时如果没有设置namespace的值,并且上层动作配置中并没有设置或使用通配符namespace时,可能会导致远程代码执行漏洞的发生。同样也可能因为url标签没有设置value和action的值,并且上层动作并没有设置或使用通配...转载 2018-12-16 14:56:39 · 732 阅读 · 1 评论