@@ -2,6 +2,8 @@ package core
22
33import (
44 "flag"
5+ "fmt"
6+ "github.com/SummerSec/SpringExploit/cmd/commons/attack"
57 "github.com/SummerSec/SpringExploit/cmd/logs"
68 log "github.com/sirupsen/logrus"
79)
@@ -37,6 +39,8 @@ type Options struct {
3739 Pocs string
3840 // ip 段
3941 IP string
42+ // show pocs list
43+ SP bool
4044}
4145
4246func (o Options ) toString () interface {} {
@@ -53,6 +57,7 @@ func ParseOptions() *Options {
5357 flag .StringVar (& options .Proxy , "proxy" , "" , "proxy example: -proxy=http(socks5)://127.0.0.1:8080 " )
5458 flag .BoolVar (& options .Version , "version" , false , "show version" )
5559 flag .BoolVar (& options .Verbose , "verbose" , false , "show verbose" )
60+ flag .BoolVar (& options .SP , "sp" , false , "show pocs list" )
5661 flag .StringVar (& options .LogFile , "log" , "" , "log file example: -log=/logs/logs.txt" )
5762 flag .IntVar (& options .Retry , "retry" , 3 , "repeat request times" )
5863 //flag.StringVar(&options.IP, "i", "", "ip segment example: -ip=192.168.0.1/24 ")
@@ -79,6 +84,8 @@ func ParseOptions() *Options {
7984 } else if options .IP != "" {
8085 options .File = ""
8186 options .Url = ""
87+ } else if options .SP {
88+ showPocsList ()
8289 } else {
8390 //ShowBanner(v)
8491 flag .PrintDefaults ()
@@ -90,6 +97,15 @@ func ParseOptions() *Options {
9097
9198}
9299
100+ func showPocsList () {
101+ fmt .Println ("Pocs list: " )
102+ ls := attack .GetList ()
103+ // 遍历list,输出pocs名称
104+ for i := ls .Front (); i != nil ; i = i .Next () {
105+ fmt .Println (i .Value )
106+ }
107+ }
108+
93109func showVerbose (options * Options ) {
94110 if ! options .Verbose {
95111 switch options .Mode {
0 commit comments