ftp默认列出前5个目录

This commit is contained in:
shadow1ng 2020-12-30 21:30:36 +08:00
parent df45b07ce8
commit fbf480b3a8
5 changed files with 54 additions and 10 deletions

View File

@ -30,10 +30,25 @@ func FtpConn(info *common.HostInfo, user string, pass string) (flag bool, err er
if err == nil {
err = conn.Login(Username, Password)
if err == nil {
defer conn.Logout()
result := fmt.Sprintf("FTP:%v:%v:%v %v", Host, Port, Username, Password)
common.LogSuccess(result)
flag = true
result := fmt.Sprintf("FTP:%v:%v:%v %v", Host, Port, Username, Password)
dirs, err := conn.List("")
//defer conn.Logout()
if err == nil {
if len(dirs) > 0 {
for i := 0; i < len(dirs); i++ {
if len(dirs[i].Name) > 50 {
result += "\n [->]" + dirs[i].Name[:50]
} else {
result += "\n [->]" + dirs[i].Name
}
if i == 5 {
break
}
}
}
}
common.LogSuccess(result)
}
}
return flag, err

View File

@ -17,6 +17,9 @@ func Scan(info common.HostInfo) {
Hosts = ICMPRun(Hosts, info.IcmpThreads, info.Ping)
fmt.Println("icmp alive hosts len is:", len(Hosts))
}
if info.Scantype == "icmp" {
return
}
AlivePorts := TCPportScan(Hosts, info.Ports, info.Timeout)
if info.Scantype == "portscan" {
return
@ -32,13 +35,13 @@ func Scan(info common.HostInfo) {
if info.Scantype == "all" {
if IsContain(severports, info.Ports) {
AddScan(info.Ports, info, ch, &wg)
} else if info.Ports == "445" { //scan more vul
AddScan("1000001", info, ch, &wg)
AddScan("1000002", info, ch, &wg)
} else {
AddScan("1000003", info, ch, &wg) //webtitle
}
if info.Ports == "445" { //scan more vul
AddScan("1000001", info, ch, &wg)
AddScan("1000002", info, ch, &wg)
}
} else {
port, _ := common.PortlistBack[info.Scantype]
scantype := strconv.Itoa(port)

View File

@ -94,7 +94,11 @@ func ParseInput(Info *HostInfo) {
os.Exit(0)
}
if Info.Outputfile != "" {
Outputfile = Info.Outputfile
if !strings.Contains(Outputfile, "/") && !strings.Contains(Outputfile, `\`) {
Outputfile = getpath() + Info.Outputfile
} else {
Outputfile = Info.Outputfile
}
}
if Info.IsSave == true {
IsSave = false
@ -116,6 +120,10 @@ func ParseScantype(Info *HostInfo) {
switch Info.Scantype {
case "webtitle":
Info.Ports = "80,81,443,7001,8000,8080,8089,9200"
case "ms17010":
Info.Ports = "445"
case "cve20200796":
Info.Ports = "445"
case "portscan":
default:
port, _ := PORTList[Info.Scantype]
@ -132,3 +140,18 @@ func CheckErr(text string, err error) {
os.Exit(0)
}
}
func getpath() string {
filename := os.Args[0]
var path string
if strings.Contains(filename, "/") {
tmp := strings.Split(filename, `/`)
tmp[len(tmp)-1] = ``
path = strings.Join(tmp, `/`)
} else if strings.Contains(filename, `\`) {
tmp := strings.Split(filename, `\`)
tmp[len(tmp)-1] = ``
path = strings.Join(tmp, `\`)
}
return path
}

View File

@ -29,6 +29,7 @@ var PORTList = map[string]int{
"findnet": 135,
"all": 0,
"portscan": 0,
"icmp": 0,
}
var PortlistBack = map[string]int{
@ -48,9 +49,11 @@ var PortlistBack = map[string]int{
"findnet": 135,
"all": 0,
"portscan": 0,
"icmp": 0,
}
var Outputfile = "result.txt"
var Outputfile = getpath() + "result.txt"
var IsSave = true
var DefaultPorts = "21,22,80,81,135,443,445,1433,3306,5432,6379,7001,8000,8080,8089,9200,11211,27017"

View File

@ -23,7 +23,7 @@ func Flag(Info *HostInfo) {
flag.StringVar(&Info.Ports, "p", DefaultPorts, "Select a port,for example: 22 | 1-65535 | 22,80,3306")
flag.StringVar(&Info.Command, "c", "", "exec command (ssh)")
flag.IntVar(&Info.Threads, "t", 200, "Thread nums")
flag.IntVar(&Info.IcmpThreads, "it", 11000, "Icmp Threads nums")
flag.IntVar(&Info.IcmpThreads, "it", 3300, "Icmp Threads nums")
flag.BoolVar(&Info.Isping, "np", false, "not to ping")
flag.BoolVar(&Info.Ping, "ping", false, "using ping replace icmp")
flag.BoolVar(&Info.IsSave, "no", false, "not to save output log")