diff --git a/runner/options.go b/runner/options.go index 53d7990..91252d7 100644 --- a/runner/options.go +++ b/runner/options.go @@ -496,11 +496,6 @@ func (options *Options) ValidateOptions() error { options.StoreResponse = true } - if options.Favicon { - gologger.Debug().Msgf("Setting single path to \"favicon.ico\" and ignoring multiple paths settings\n") - options.RequestURIs = "/favicon.ico" - } - if options.Hashes != "" { for _, hashType := range strings.Split(options.Hashes, ",") { if !slice.StringSliceContains([]string{"md5", "sha1", "sha256", "sha512", "mmh3", "simhash"}, strings.ToLower(hashType)) { diff --git a/runner/runner.go b/runner/runner.go index 19471b1..6613cca 100644 --- a/runner/runner.go +++ b/runner/runner.go @@ -1343,17 +1343,21 @@ retry: } builder.WriteRune(']') } - var faviconMMH3 string if scanopts.Favicon { - faviconMMH3 = fmt.Sprintf("%d", stringz.FaviconHash(resp.Data)) - builder.WriteString(" [") - if !scanopts.OutputWithNoColor { - builder.WriteString(aurora.Magenta(faviconMMH3).String()) + req.URL.Path = "/favicon.ico" + if faviconResp, favErr := hp.Do(req, httpx.UnsafeOptions{}); favErr == nil { + faviconMMH3 = fmt.Sprintf("%d", stringz.FaviconHash(faviconResp.Data)) + builder.WriteString(" [") + if !scanopts.OutputWithNoColor { + builder.WriteString(aurora.Magenta(faviconMMH3).String()) + } else { + builder.WriteString(faviconMMH3) + } + builder.WriteRune(']') } else { - builder.WriteString(faviconMMH3) + gologger.Warning().Msgf("Could not fetch favicon: %s", favErr.Error()) } - builder.WriteRune(']') } // adding default hashing for json output format if r.options.JSONOutput && len(scanopts.Hashes) == 0 {