freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

渗透测试之地基服务篇:服务攻防之框架Struts2(上)
2021-12-31 13:09:01

系列文章

专辑:渗透测试之地基篇

简介

渗透测试-地基篇

该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。

请注意

本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。

名言:

你对这行的兴趣,决定你在这行的成就!

一、前言

服务框架是指某领域一类服务的可复用设计与不完整的实现,与软件框架不同的是,服务框架同时体现着面向服务,一个服务框架可以分为两个主要部分:服务引擎、引入的外部服务。

Struts2是apache项目下的一个web 框架,普遍应用于阿里巴巴、京东等互联网、政府、企业门户网站。可想而知框架连接着网络和系统接触着越来越多的关键数据,渐渐成为单位公共安全中最具有战略性的资产,框架的安全稳定运行也直接决定着业务系统能否正常使用。如果框架被远程代码执行攻破,这些信息一旦被篡改或者泄露,轻则造成企业经济损失,重则影响企业形象,甚至行业、社会安全。可见,数据库安全至关重要。

通过前几期钓鱼、内网攻防篇章落幕后,引来了服务攻防篇章之数据库渗透篇,不管在外网还是内网环境,只要存在业务系统都存在数据库,在渗透测试对数据库的知识学习是必不可少的,接下来将介绍数据库的渗透基本操作,带小伙伴们了解和学习数据库如何渗透的!

今天会讲解到学习Struts2简介、Struts2详细安装、Docker详细安装Struts2、Struts2-001至Struts2-061的全部远程代码执行攻击总结、实战武器Struts2的总结RCE使用经验等等操作,如果连Struts2都不会安装操作提权等,怎么拿下对方服务器?

二、Struts2框架渗透总结

1、简介

Struts2是一个基于MVC(Models、View、Controller)设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 Struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。

Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

Apache Struts2 是一个基于MVC设计模式的Web应用框架,会对某些标签属性(比如 id)的属性值进行二次表达式解析,因此在某些场景下将可能导致远程代码执行。

2、下载详情

可参考Apache Struts官方连接,不同版本中漏洞情况也不一致;下载对应版本Struts即可验证对应漏洞。

各版本下载:

http://archive.apache.org/dist/struts/binaries/

3、漏洞靶场

https://hub.docker.com/r/2d8ru/struts2

https://vulhub.org/

三、Struts2本地安装

1、搭建Tomcat

下载安装地址:

https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.88/bin/

开始安装java环境支撑:
image.png

双击tomcat安装包默认下一步安装即可:
image.png

默认C盘目录:
image.png

然后自动开启:
image.png

接着访问本地的8080端口:成功搭建
image.png

2、搭建各版本Struts2环境

1)S2-001
image.png
默认将源码war包丢入webapps目录下,会自动部署!

image.png
丢入后在bin目录下双击Tomacat8即可开启!

image.png
已经搭建成功!那么高版本也是一样的!后面就随机拿几个给你们演示搭建即可!

2)S2-046搭建
image.png

3)S2-059搭建
image.png
方法都是一样,只要有源码包,丢入即可自动部署完成,开始漏洞验证研究之旅。

3、IDEA搭建Tomacat

IntelliJ IDEA搭建tomcat
将 Tomcat 安装为系统服务,在 tomcat的bin目录下,cmd 中运行service.bat install,提示安装成功--->The service 'Tomcat7' has been installed,在系统服务找到它--->Apache Tomcat 7.0.94 Server。

在 cmd 中运行 **service.bat install:

1、下载IntelliJ IDEA,Ultimate版免费
2、安装IntelliJ IDEA
3、点击Run---EDit Configurations...
4、点击左侧“+”号,找到Tomcat Server---Local(若是没有找到Tomcat Server 可以点击最后一行 34 items more)
5、在Tomcat Server -> Unnamed -> Server -> Application server项目下,点击 Configuration ,找到本地 Tomcat 服务器,再点击 OK按钮

本文作者:, 转载请注明来自FreeBuf.COM

# Struts2 # 数据库渗透
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
\
  • 0 文章数
  • 0 评论数
  • 0 关注者
文章目录
登录 / 注册后在FreeBuf发布内容哦
收入专辑