diff --git a/config/config.json b/config/config.json index 48e9e6c20..a76107f82 100644 --- a/config/config.json +++ b/config/config.json @@ -68,10 +68,12 @@ "naabu": {"TopPorts": "1000","ScanAllIPS": true,"Threads": 50,"EnableProgressBar": false}, "priorityNmap": true, "noScan": false, + "enableMultNuclei": false, "enableNuclei": true, "nuclei": { "Severities": [5,4,3], "RateLimit": 150, + "ExcludeTags": ["fuzz"], "BulkSize":64, "TemplateThreads": 64, "HeadlessBulkSize": 10, diff --git a/config/scan4all_db.db b/config/scan4all_db.db index 914251140..89067d365 100644 Binary files a/config/scan4all_db.db and b/config/scan4all_db.db differ diff --git a/pkg/naabu/v2/pkg/runner/runner.go b/pkg/naabu/v2/pkg/runner/runner.go index 6f63d2d6d..272162004 100644 --- a/pkg/naabu/v2/pkg/runner/runner.go +++ b/pkg/naabu/v2/pkg/runner/runner.go @@ -83,7 +83,11 @@ func (r *Runner) Httpxrun() error { //var axx1 []*runner2.Runner defer func() { <-nucleiDone }() util.DoSyncFunc(func() { - go nuclei_Yaml.RunNuclei(&httpxrunner.Naabubuffer, nucleiDone, &opts, xx1) + if util.GetValAsBool("enableMultNuclei") { + go nuclei_Yaml.RunNucleiP(&httpxrunner.Naabubuffer, nucleiDone, &opts, xx1) + } else { + go nuclei_Yaml.RunNuclei(&httpxrunner.Naabubuffer, nucleiDone, &opts, xx1) + } }) // 指纹去重复 请求路径 if "" != fingerprint.FgDictFile { diff --git a/projectdiscovery/nuclei_Yaml/nuclei_yaml.go b/projectdiscovery/nuclei_Yaml/nuclei_yaml.go index 650fc11be..589693e6c 100644 --- a/projectdiscovery/nuclei_Yaml/nuclei_yaml.go +++ b/projectdiscovery/nuclei_Yaml/nuclei_yaml.go @@ -84,7 +84,7 @@ func RunNucleiP(buf *bytes.Buffer, xx chan bool, oOpts *map[string]interface{}, } } } - go RunNucleiP(&buf1, nucleiDone1, &m1, outNuclei) + go RunNuclei(&buf1, nucleiDone1, &m1, outNuclei) } else { nucleiDone1 <- true close(nucleiDone1) @@ -107,7 +107,7 @@ func RunNucleiP(buf *bytes.Buffer, xx chan bool, oOpts *map[string]interface{}, } } } - go RunNucleiP(&buf1, nucleiDone2, &m1, outNuclei) + go RunNuclei(&buf1, nucleiDone2, &m1, outNuclei) } else { nucleiDone2 <- true close(nucleiDone2) @@ -199,7 +199,7 @@ func readConfig(options *types.Options) { options.Authors = []string{} options.Tags = []string{} - options.ExcludeTags = []string{} + options.ExcludeTags = []string{"fuzz"} options.IncludeTags = []string{} options.IncludeIds = []string{} options.ExcludeIds = []string{} @@ -267,7 +267,6 @@ func readConfig(options *types.Options) { // flagSet.BoolVar(&options.TemplateList, "tl", false, "list all available templates"), // flagSet.StringSliceVarConfigOnly(&options.RemoteTemplateDomainList, "remote-template-domain", []string{"api.nuclei.sh"}, "allowed domain list to load remote templates from"), //) - //createGroup(flagSet, "filters", "Filtering", //flagSet.FileNormalizedStringSliceVarP(&options.Authors, "author", "a", []string{}, "templates to run based on authors (comma-separated, file)"), //flagSet.FileNormalizedStringSliceVar(&options.Tags, "tags", []string{}, "templates to run based on tags (comma-separated, file)"),