-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Labels
InvestigationSomething to InvestigateSomething to InvestigateType: BugInconsistencies or issues which will cause an issue or problem for users or implementors.Inconsistencies or issues which will cause an issue or problem for users or implementors.Type: QuestionA query or seeking clarification on parts of the spec. Probably doesn't need the attention of all.A query or seeking clarification on parts of the spec. Probably doesn't need the attention of all.
Description
fatal error: concurrent map iteration and map write
test code:
package main
import (
"bytes"
"fmt"
"github.com/hktalent/scan4all/nuclei_Yaml"
"net/http"
_ "net/http/pprof"
"os"
"sync"
)
func DoNuclei(buf *bytes.Buffer, wg *sync.WaitGroup, oOpts *map[string]interface{}) {
defer wg.Done()
xx := make(chan bool)
go nuclei_Yaml.RunNuclei(buf, xx, nil)
<-xx
}
func main() {
if true {
go func() {
http.ListenAndServe(":6060", nil)
}()
buf := bytes.Buffer{}
var wg sync.WaitGroup
wg.Add(1)
buf.WriteString("http://192.168.10.31:8888\n")
pwd, _ := os.Getwd()
m1 := map[string]interface{}{"UpdateTemplates": false, "Templates": []string{pwd + "/config/nuclei-templates"}, "TemplatesDirectory": pwd + "/config/nuclei-templates", "NoUpdateTemplates": true}
go DoNuclei(&buf, &wg, &m1)
wg.Add(1)
go DoNuclei(&buf, &wg, &m1)
wg.Add(1)
go DoNuclei(&buf, &wg, &m1)
wg.Wait()
}
}error:
[0:00:25] | Templates: 3661 | Hosts: 1 | RPS: 102 | Matched: 19 | Errors: 92 | Requests: 2574/5043 (51%)
fatal error: concurrent map iteration and map write
goroutine 36114 [running]:
runtime.throw({0x52c27f3?, 0x1?})
/usr/local/Cellar/go/1.18.4/libexec/src/runtime/panic.go:992 +0x71 fp=0xc010f3f288 sp=0xc010f3f258 pc=0x4038b51
runtime.mapiternext(0x5031840?)
/usr/local/Cellar/go/1.18.4/libexec/src/runtime/map.go:871 +0x4eb fp=0xc010f3f2f8 sp=0xc010f3f288 pc=0x4013aeb
github.com/projectdiscovery/nuclei/v2/pkg/protocols/http.(*Request).executeRequest(0xc00ebe1680, {0xc0007cac60, 0x19}, 0xc01385f540, 0xc008d9d680?, 0x0, 0xc008d9d6b0, 0x0?)
/Users/51pwn/MyWork/scan4all/vendor/github.com/projectdiscovery/nuclei/v2/pkg/protocols/http/request.go:573 +0x28fb fp=0xc010f3ff38 sp=0xc010f3f2f8 pc=0x4d0f59b
github.com/projectdiscovery/nuclei/v2/pkg/protocols/http.(*Request).executeTurboHTTP.func1(0xc008412b40?)
/Users/51pwn/MyWork/scan4all/vendor/github.com/projectdiscovery/nuclei/v2/pkg/protocols/http/request.go:210 +0x9f fp=0xc010f3ffc8 sp=0xc010f3ff38 pc=0x4d0bbdf
github.com/projectdiscovery/nuclei/v2/pkg/protocols/http.(*Request).executeTurboHTTP.func2()
/Users/51pwn/MyWork/scan4all/vendor/github.com/projectdiscovery/nuclei/v2/pkg/protocols/http/request.go:216 +0x2a fp=0xc010f3ffe0 sp=0xc010f3ffc8 pc=0x4d0bb0a
runtime.goexit()
/usr/local/Cellar/go/1.18.4/libexec/src/runtime/asm_amd64.s:1571 +0x1 fp=0xc010f3ffe8 sp=0xc010f3ffe0 pc=0x406b861
created by github.com/projectdiscovery/nuclei/v2/pkg/protocols/http.(*Request).executeTurboHTTP
/Users/51pwn/MyWork/scan4all/vendor/github.com/projectdiscovery/nuclei/v2/pkg/protocols/http/request.go:207 +0x377
goroutine 1 [chan receive]:
main.DoNuclei(0xc00093bd40, 0xc000869e30?, 0x5280fd1?)
/Users/51pwn/MyWork/scan4all/test/nuclei/testNuclei.go:29 +0xca
main.main()
/Users/51pwn/MyWork/scan4all/test/nuclei/testNuclei.go:45 +0x2c5
options
{
"Tags": [],
"ExcludeTags": [],
"Workflows": [],
"WorkflowURLs": [],
"Templates": [
"/Users/51pwn/MyWork/scan4all/config/nuclei-templates"
],
"TemplateURLs": [],
"RemoteTemplateDomainList": [
"api.nuclei.sh"
],
"ExcludedTemplates": [],
"ExcludeMatchers": null,
"CustomHeaders": [],
"Vars": {},
"Severities": null,
"ExcludeSeverities": null,
"Authors": [],
"Protocols": [
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"ExcludeProtocols": null,
"IncludeTags": [],
"IncludeTemplates": [],
"IncludeIds": [],
"ExcludeIds": [],
"InternalResolversList": null,
"ProjectPath": "/var/folders/_l/pnb2t_9s0f192bqlz1348vpr0000gn/T/",
"InteractshURL": "",
"InteractshToken": "",
"Targets": [
"http://192.168.10.31:8888"
],
"TargetsFilePath": "",
"Resume": "",
"Output": "",
"ProxyInternal": false,
"Proxy": [],
"TemplatesDirectory": "/Users/51pwn/MyWork/scan4all/config/nuclei-templates",
"TraceLogFile": "",
"ErrorLogFile": "",
"ReportingDB": "",
"ReportingConfig": "",
"MarkdownExportDirectory": "",
"SarifExport": "",
"ResolversFile": "",
"StatsInterval": 5,
"MetricsPort": 9092,
"MaxHostError": 30,
"BulkSize": 64,
"TemplateThreads": 64,
"HeadlessBulkSize": 10,
"HeadlessTemplateThreads": 10,
"Timeout": 5,
"Retries": 1,
"RateLimit": 150,
"RateLimitMinute": 0,
"PageTimeout": 20,
"InteractionsCacheSize": 5000,
"InteractionsPollDuration": 5,
"InteractionsEviction": 60,
"InteractionsCoolDownPeriod": 5,
"MaxRedirects": 10,
"FollowRedirects": false,
"OfflineHTTP": false,
"StatsJSON": false,
"Headless": false,
"ShowBrowser": false,
"UseInstalledChrome": false,
"SystemResolvers": false,
"Metrics": false,
"Debug": false,
"DebugRequests": false,
"DebugResponse": false,
"LeaveDefaultPorts": false,
"AutomaticScan": false,
"Silent": false,
"Version": false,
"Validate": false,
"NoStrictSyntax": false,
"Verbose": false,
"VerboseVerbose": false,
"NoColor": false,
"UpdateTemplates": false,
"JSON": false,
"JSONRequests": false,
"EnableProgressBar": true,
"TemplatesVersion": false,
"TemplateList": false,
"HangMonitor": false,
"Stdin": false,
"StopAtFirstMatch": false,
"Stream": false,
"NoMeta": false,
"NoTimestamp": false,
"Project": false,
"NewTemplates": false,
"NewTemplatesWithVersion": null,
"NoInteractsh": false,
"UpdateNuclei": false,
"NoUpdateTemplates": true,
"EnvironmentVariables": false,
"MatcherStatus": false,
"ClientCertFile": "",
"ClientKeyFile": "",
"ClientCAFile": "",
"ZTLS": false,
"ShowMatchLine": false,
"EnablePprof": false,
"StoreResponse": false,
"StoreResponseDir": "output",
"DisableRedirects": true,
"SNI": "",
"HealthCheck": false,
"InputReadTimeout": 0,
"DisableStdin": false
}hktalent
Metadata
Metadata
Assignees
Labels
InvestigationSomething to InvestigateSomething to InvestigateType: BugInconsistencies or issues which will cause an issue or problem for users or implementors.Inconsistencies or issues which will cause an issue or problem for users or implementors.Type: QuestionA query or seeking clarification on parts of the spec. Probably doesn't need the attention of all.A query or seeking clarification on parts of the spec. Probably doesn't need the attention of all.