All Projects → x51 → Sts2g

x51 / Sts2g

Licence: mit
Struts2漏洞扫描利用工具 - Golang版. Struts2 Scanner Written in Golang

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Sts2g

Tables To Go
convert your database tables to structs easily
Stars: ✭ 62 (-61.49%)
Mutual labels:  golang-application
Integram
Integrate Telegram into your workflow – Trello, Gitlab, Bitbucket and other bots
Stars: ✭ 1,365 (+747.83%)
Mutual labels:  golang-application
Subify
Subify - Download subtitles for your favorite TV shows and movies
Stars: ✭ 135 (-16.15%)
Mutual labels:  golang-application
Likelo
Twitter auto like bot, Under Development👷, Pre Alpha
Stars: ✭ 64 (-60.25%)
Mutual labels:  golang-application
Sisyphus
Intelligent Junk Mail Handler
Stars: ✭ 76 (-52.8%)
Mutual labels:  golang-application
Go Bank Transfer
Simple API for banking routines using a Clean Architecture in Golang. 💳 💰 💸
Stars: ✭ 123 (-23.6%)
Mutual labels:  golang-application
Cells
Future-proof content collaboration platform
Stars: ✭ 1,059 (+557.76%)
Mutual labels:  golang-application
Fortio
Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats.
Stars: ✭ 2,199 (+1265.84%)
Mutual labels:  golang-application
Gitbackup
Tool to backup your GitHub and GitLab repositories
Stars: ✭ 94 (-41.61%)
Mutual labels:  golang-application
Kala
Modern Job Scheduler
Stars: ✭ 1,736 (+978.26%)
Mutual labels:  golang-application
Glab
An open-source GitLab command line tool bringing GitLab's cool features to your command line
Stars: ✭ 1,126 (+599.38%)
Mutual labels:  golang-application
Passmgr
a simple, portable password manager
Stars: ✭ 74 (-54.04%)
Mutual labels:  golang-application
Elf Strings
elf-strings will programmatically read an ELF binary's string sections within a given binary. This is meant to be much like the strings UNIX utility, however is purpose built for ELF binaries.
Stars: ✭ 127 (-21.12%)
Mutual labels:  golang-application
Pkgmirror
Packages Mirroring
Stars: ✭ 62 (-61.49%)
Mutual labels:  golang-application
Go Camo
A secure image proxy server
Stars: ✭ 146 (-9.32%)
Mutual labels:  golang-application
Rdpgw
Remote Desktop Gateway in Go for deploying on Linux/BSD/Kubernetes
Stars: ✭ 59 (-63.35%)
Mutual labels:  golang-application
Go Tunnel
TLS/SSL Tunnel - A modern STunnel replacement written in golang
Stars: ✭ 110 (-31.68%)
Mutual labels:  golang-application
Tinderonline
Find out which of your friends are online on Tinder
Stars: ✭ 155 (-3.73%)
Mutual labels:  golang-application
Orchid
very tiny music player
Stars: ✭ 150 (-6.83%)
Mutual labels:  golang-application
Poodle
🔥 A fast and beautiful command line tool to build API requests.
Stars: ✭ 129 (-19.88%)
Mutual labels:  golang-application

STS2G

Struts2漏洞测试-Golang版,部分POC参考了众多优秀项目如Struts2-Scan,漏洞测试环境采用vulhub.
目前两种模式scanexec支持:
struts2-001
struts2-005
struts2-007
struts2-008
struts2-009
struts2-012
struts2-013
struts2-015
struts2-016
struts2-045
struts2-046
struts2-048
struts2-053
struts2-057

开发目的

1、适用于命令行下操作,比如webshell下测试内网struts2漏洞.
2、可编译Windows/Linux平台可执行文件.
3、单文件运行.

使用方法

D:\Struts2-Test>ST2SG.exe -h
NAME:
   ST2SG - Struts2 Scanner Written in Golang

USAGE:
   ST2SG --url http://xxxxxxx.com/test.action --vn 15 --mode scan

AUTHOR:
   x51 <[email protected]>

COMMANDS:
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --mode value  Specify work mode
   --vn value    Vulnerability number (default: 0)
   --url value   Set target url
   --cmd value   Exec command(Only works on mode exec.)
   --data value  Specific vulnerability packets
   --help, -h    show help (default: false)

avatar

默认扫描模式(不建议使用):

ST2SG --url http://xxx.com/index.action --mode scan

指定漏洞扫描模式:

ST2SG --url http://xxx.com/index.action --vn 15 --mode scan

命令执行模式:

ST2SG --url http://xxx.com/index.action --vn 15 --mode exec --cmd "cat /etc/passwd"

自定义参数:

基于以上方法,分两种情况,自定义GET参数名,和自定义POST数据包内容,POST方式需要在数据包中指定一下要测试的参数并用fuckit标记出来.

POST

ST2SG --mode scan --url http://xxx.com/index.action --vn 007 --data "name=fuckit&pass=qwer"
以Struts2-001为例,登录请求包如下:

POST /login.action HTTP/1.1
Host: 192.168.123.128:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
Origin: http://192.168.123.128:8080
Connection: close
Referer: http://192.168.123.128:8080/
Cookie: JSESSIONID=51B574E47166823D7622CA583D71954E
Upgrade-Insecure-Requests: 1

username=aaa&password=bbb

avatar

GET

ST2SG --mode scan --url http://xxx.com/index.action --vn 009 --data "name"
以Struts2-009为例,GET请求如下:

http://192.168.123.128:8080/ajax/example5.action?age=1&name=aaa

avatar

补充

1、强烈建议使用vn参数;
2、自定义POC只需在utils中修改为自己的即可;
3、部分漏洞支持获取webpath,功能函数已经在各自漏洞模块中实现(func GetWebPath),可自行调用;

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].