From 4603096b93f03aa05daf97a39efb453305226381 Mon Sep 17 00:00:00 2001 From: Brendan Le Glaunec Date: Sat, 15 Jun 2019 18:36:35 +0200 Subject: [PATCH] Use os.ExpandEnv for injecting gopath in dict path (#227) --- cmd/cameradar/cameradar.go | 4 ++-- scanner.go | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/cmd/cameradar/cameradar.go b/cmd/cameradar/cameradar.go index 8d57299..a0eb4f4 100644 --- a/cmd/cameradar/cameradar.go +++ b/cmd/cameradar/cameradar.go @@ -20,8 +20,8 @@ func parseArguments() error { pflag.StringSliceP("targets", "t", []string{}, "The targets on which to scan for open RTSP streams - required (ex: 172.16.100.0/24)") pflag.StringSliceP("ports", "p", []string{"554", "5554", "8554"}, "The ports on which to search for RTSP streams") - pflag.StringP("custom-routes", "r", "/src/github.com/ullaakut/cameradar/dictionaries/routes", "The path on which to load a custom routes dictionary") - pflag.StringP("custom-credentials", "c", "/src/github.com/ullaakut/cameradar/dictionaries/credentials.json", "The path on which to load a custom credentials JSON dictionary") + pflag.StringP("custom-routes", "r", "${GOPATH}/src/github.com/ullaakut/cameradar/dictionaries/routes", "The path on which to load a custom routes dictionary") + pflag.StringP("custom-credentials", "c", "${GOPATH}/src/github.com/ullaakut/cameradar/dictionaries/credentials.json", "The path on which to load a custom credentials JSON dictionary") pflag.IntP("speed", "s", 4, "The nmap speed preset to use for discovery") pflag.DurationP("timeout", "T", 2*time.Second, "The timeout in miliseconds to use for attack attempts") pflag.BoolP("debug", "d", true, "Enable the debug logs") diff --git a/scanner.go b/scanner.go index 91e1997..9a89a2a 100644 --- a/scanner.go +++ b/scanner.go @@ -3,7 +3,6 @@ package cameradar import ( "fmt" "os" - "strings" "time" "github.com/ullaakut/disgo" @@ -12,8 +11,8 @@ import ( ) const ( - defaultCredentialDictionaryPath = "/src/github.com/ullaakut/cameradar/dictionaries/credentials.json" - defaultRouteDictionaryPath = "/src/github.com/ullaakut/cameradar/dictionaries/routes" + defaultCredentialDictionaryPath = "${GOPATH}/src/github.com/ullaakut/cameradar/dictionaries/credentials.json" + defaultRouteDictionaryPath = "${GOPATH}/src/github.com/ullaakut/cameradar/dictionaries/routes" ) // Scanner represents a cameradar scanner. It scans a network and @@ -62,8 +61,8 @@ func New(options ...func(*Scanner)) (*Scanner, error) { disgo.Errorln(style.Failure("No $GOPATH was found.\nDictionaries may not be loaded properly, please set your $GOPATH to use the default dictionaries.")) } - scanner.credentialDictionaryPath = strings.Replace(scanner.credentialDictionaryPath, "", gopath, 1) - scanner.routeDictionaryPath = strings.Replace(scanner.routeDictionaryPath, "", gopath, 1) + scanner.credentialDictionaryPath = os.ExpandEnv(scanner.credentialDictionaryPath) + scanner.routeDictionaryPath = os.ExpandEnv(scanner.routeDictionaryPath) scanner.term = disgo.NewTerminal( disgo.WithDebug(scanner.debug),