diff --git a/Plugins/scanner.go b/Plugins/scanner.go index 9f1af2b..ccd6246 100644 --- a/Plugins/scanner.go +++ b/Plugins/scanner.go @@ -43,7 +43,7 @@ func Scan(info common.HostInfo) { for _,port:=range common.PORTList{ severports = append(severports,strconv.Itoa(port)) } - severports1 := []string{"1521"} //no scan these server + severports1 := []string{"1521"} //no scan these service var ch = make(chan int,info.Threads) var wg = sync.WaitGroup{} var scantype string @@ -55,17 +55,14 @@ func Scan(info common.HostInfo) { AddScan(scan_port,info,ch,&wg) }else { if !IsContain(severports1,scan_port){ - wg.Add(1) info.Ports = scan_port - go WebTitle(info,ch,&wg) //go scan_func(PluginList,"WebTitle",info,ch,&wg) - ch <- 1 + AddScan("1000003",info,ch,&wg) //webtitle } } - if scan_port == "445"{ + if scan_port == "445"{ //scan more vul AddScan("1000001",info,ch,&wg) AddScan("1000002",info,ch,&wg) } - }else { port,_:=common.PORTList[info.Scantype] scantype = strconv.Itoa(port) diff --git a/Plugins/smb.go b/Plugins/smb.go index ab69b04..b546cd7 100644 --- a/Plugins/smb.go +++ b/Plugins/smb.go @@ -15,9 +15,7 @@ Loop: for _,user:=range common.Userdict["smb"]{ for _,pass:=range common.Passwords{ pass = strings.Replace(pass, "{user}", string(user), -1) - //flag,err := SmblConn(info,user,pass) flag,err := doWithTimeOut(info,user,pass) - //fmt.Println(user,pass,flag,err) if flag==true && err==nil { break Loop } @@ -38,7 +36,6 @@ func SmblConn(info *common.HostInfo,user string,pass string)(flag bool,err error Password: Password, Domain: "", Workstation: "", - Timeout: info.Timeout, } diff --git a/Plugins/webtitle.go b/Plugins/webtitle.go index aa0281a..21d97d8 100644 --- a/Plugins/webtitle.go +++ b/Plugins/webtitle.go @@ -11,7 +11,7 @@ import ( "time" ) -func WebTitle(info common.HostInfo,ch chan int,wg *sync.WaitGroup) (err error, result string) { +func WebTitle(info *common.HostInfo,ch chan int,wg *sync.WaitGroup) (err error, result string) { info.Url = fmt.Sprintf("http://%s:%s",info.Host,info.Ports) err,result = geturl(info) wg.Done() @@ -20,7 +20,7 @@ func WebTitle(info common.HostInfo,ch chan int,wg *sync.WaitGroup) (err error, r } -func geturl(info common.HostInfo) (err error, result string) { +func geturl(info *common.HostInfo) (err error, result string) { url := info.Url var client = &http.Client{Timeout:time.Duration(info.Timeout)*time.Second } res,err:=http.NewRequest("GET",url,nil) diff --git a/common/config.go b/common/config.go index d642b12..4783447 100644 --- a/common/config.go +++ b/common/config.go @@ -60,49 +60,3 @@ type HostInfo struct { } - - - -//var Passwords = []string{"admin123A","123456","admin","root","password","123123","123","1","{user}","{user}{user}","{user}1","{user}123","{user}2016","{user}2015","{user}!","","P@ssw0rd!!","qwa123","12345678","test","123qwe!@#","123456789","123321","1314520","666666","woaini","fuckyou","000000","1234567890","8888888","qwerty","1qaz2wsx","abc123","abc123456","1q2w3e4r","123qwe","p@ssw0rd","p@55w0rd","password!","p@ssw0rd!","password1","r00t","tomcat","apache","system","huawei","admin123","zte"} -//const Username = "admin" -//const Password = "123456" -//const Timeout = 3 * time.Second -//const FTPPORT = 21 -//const SSHPORT = 22 -//const MEMCACHEDPORT = 11211 -//const MONGODBPORT = 27017 -//const MSSQLPORT = 1433 -//const OraclePORT = 1433 -//const PSQLPORT = 5432 -//const REDISPORT = 6379 -//const MYSQLPORT = 3306 -//const SMBPORT = 445 -//const POSTGRESPORT = 5432 - -//var Userdict = map[string][]string{ -// "ftp": []string{"www","admin","root","db","wwwroot","data","web","ftp"}, -// "mysql": []string{"root"}, -// "mssql": []string{"root","sa"}, -// "smb": []string{"administrator","guest"}, -// "postgresql": []string{"postgres","admin"}, -// "ssh": []string{"root","admin"}, -// "mongodb": []string{"root","admin"}, -// //"telnet": []string{"administrator","admin","root","cisco","huawei","zte"}, -//} - -//var PluginList = map[string]interface{}{ -// "ftp": FtpScan, -// "mysql": MysqlScan, -// //"mongodb":MgoConn, -// "mssql":MssqlScan, -// "redis": RedisScan, -// //"smb": SmbScan, -// "ssh": SshScan, -// //"portscan": PortConn, -// //"icmp": IcmpConn, -// "postgresql": PostgresScan, -// //"urlscan":UrlConn, -// //"auth":ApacheConn, -// //"subdomain":SDConn, -// //"memcached":MemConn, -//} \ No newline at end of file